我有一个包含许多 NSDictionaries 的 NSMutableArray,其中包含“Title”之类的键。在某些情况下,存在具有相同“标题”但其他键不同的字典副本。如何删除具有相同“标题”键的字典并在数组中只保留一个?
谢谢
我有一个包含许多 NSDictionaries 的 NSMutableArray,其中包含“Title”之类的键。在某些情况下,存在具有相同“标题”但其他键不同的字典副本。如何删除具有相同“标题”键的字典并在数组中只保留一个?
谢谢
NSSortDescriptor
使用键路径“标题”对数组进行排序。接下来,遍历数组并构建一个新数组:
NSString *lastTitle = nil;
NSMutableArray *result = [NSMutableArray array];
for (NSDictionary *d in array) {
NSString *testTitle = [d objectForKey:@"title"];
if (![testTitle isEqualToString:lastTitle]) {
[result addObject:d];
lastTitle = testTitle;
}
}
现在result
包含您的过滤列表。
对第一个进行排序以array
使该算法起作用很重要。