У мене є одна, NSDictionary
і вона завантажується UITableView
. Якщо користувач прокручує все більше і більше, я викликаю API і витягую нові дані. Ці дані знову мають форму NSDictionary
. Чи можна додати нове NSDictionary
до існуючого?
Відповіді:
Ви шукаєте цього хлопця:
[NSMutableDictionary addEntriesFromDictionary:]
Переконайтеся, що ваш UITableView
словник є NSMutableDictionary
!
-[NSDictionary dictionaryByAddEntriesFromDictionary:]
, щоб такого методу в NSDictionary
.
+ (instancetype)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionaryWithDictionary:self]; [combinedDictionary addEntriesFromDictionary:dictionary]; return combinedDictionary; }
Вибачте за проблеми з форматуванням. StackOverflow не допускає дружнього багаторядкового форматування коду в коментарях.
Використовуйте NSMutableDictionary addEntriesFromDictionary, щоб додати два словники до нового змінного словника. Потім ви можете створити словник NSD із змінного, але зазвичай не потрібно мати словник, що не змінюється.
Чи є у вашому словнику NSD інші словники NSD? Схоже, вам знадобиться NSMutableArray, до якого ви можете додати словники NSD наприкінці. Якщо припустити, що ви можете контролювати потік даних, що надходять, і не ризикувати дублікатами у вашому масиві, ви, безсумнівно, можете додати дані.
NSMutableArray *array = [[NSMutableArray alloc] init];
arrayCount = [array count]; // check the item count
[array addObject:dictToAppend];
Не бачачи, як ви його впроваджуєте, я не можу надати більш детальні приклади коду. Додавання предметів зробити просто, але знайте, що це можна зробити лише за допомогою змінних версій масивів або словників. Сподіваюся, це трохи допоможе.