【发布时间】:2012-03-04 11:50:48
【问题描述】:
我有一个NSDictionary,它加载了UITableView。如果用户滚动的次数越来越多,我会调用 API 并提取新数据。该数据再次采用NSDictionary 的形式。是否可以将新的NSDictionary 添加到现有的?
【问题讨论】:
标签: objective-c ios uitableview nsdictionary
我有一个NSDictionary,它加载了UITableView。如果用户滚动的次数越来越多,我会调用 API 并提取新数据。该数据再次采用NSDictionary 的形式。是否可以将新的NSDictionary 添加到现有的?
【问题讨论】:
标签: objective-c ios uitableview nsdictionary
你在找这个人:
[NSMutableDictionary addEntriesFromDictionary:]
确保您的 UITableView 字典是 NSMutableDictionary!
【讨论】:
-[NSDictionary dictionaryByAddEntriesFromDictionary:],但是NSDictionary中没有这样的方法。
+ (instancetype)dictionaryByAddingEntriesFromDictionary:(NSDictionary *)dictionary { NSMutableDictionary *combinedDictionary = [NSMutableDictionary dictionaryWithDictionary:self]; [combinedDictionary addEntriesFromDictionary:dictionary]; return combinedDictionary; } 很抱歉出现格式问题。 StackOverflow 不允许在 cmets 中使用友好的多行代码格式。
使用 NSMutableDictionary addEntriesFromDictionary 将两个字典添加到新的可变字典中。然后,您可以从可变字典创建一个 NSDictionary,但通常没有必要让字典不可变。
【讨论】:
您的 NSDictionary 是否包含其他 NSDictionaries?听起来你需要一个 NSMutableArray ,你可以在最后添加 NSDictionaries 。假设您可以控制传入的数据流并且不会在数组中冒重复的风险,那么您当然可以追加数据。
NSMutableArray *array = [[NSMutableArray alloc] init];
arrayCount = [array count]; // check the item count
[array addObject:dictToAppend];
没有看到您如何实现它,我无法提供更详细的代码示例。附加项目很容易做到,但知道它只能使用可变版本的数组或字典来完成。希望这会有所帮助。
【讨论】: