1

我有一个包含许多 NSDictionaries 的 NSMutableArray,其中包含“Title”之类的键。在某些情况下,存在具有相同“标题”但其他键不同的字典副本。如何删除具有相同“标题”键的字典并在数组中只保留一个?

谢谢

4

1 回答 1

6

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使该算法起作用很重要。

于 2013-05-08T23:47:17.557 回答