0

我有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 ;

所有这些 object( NSMutableDictionay) 都在 array( NSMutableArray) 中。

现在我的问题是我想从中删除重复项,因为object1两者object2都有username -> hilalbaig

4

1 回答 1

1

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

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

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

于 2013-04-18T05:32:33.007 回答