从NSMutableArray中的NSMutableDictionary中删除重复项

时间:2012-12-12 13:31:47

标签: nsmutablearray nsmutabledictionary

我有NSMutableArray,即包含对象的书籍。这些对象是NSMutableDictionay,每个对象是3个事物的键值对,即id,name,username。假设我有3个具有值的对象!

 - object1 = id->1, name->Hilal, username->hilalbaig ;
 - object2 = id->2, name->Ali,  username->alibaig ;
 - object3 = id->3, name->Jalal, username->hilalbaig ;

所有这些对象(NSMutableDictionay)都在数组中(NSMutableArray)。

现在我的问题是我要删除重复项,因为object1object2都是重复的,因为它们都有username -> hilalbaig

1 个答案:

答案 0 :(得分:1)

使用Linq to ObjectiveC您可以删除重复项,如下所示:

NSMutableArray* source = // your array of dictionaries
NSArray* uniqueItems = [source distinct:^id(id dictionary) {
    return [dictionary objectForKey:@"username"];
}];

distinct方法从数组中返回不同的项。键选择器块允许您确定如何评估相等性。在上面的示例中,您可以看到,如果两个字典具有相同的“用户名”,则认为它们是相同的。