2012-12-12 64 views
0

我有NSMutableArray,即包含對象的書籍。這些對象是NSMutableDictionay,每個對象是3件事的關鍵值對,即id,名稱,用戶名。讓我有3個對象有價值的情況下!從NSMutableArray中刪除NSMutableDictionary中的重複項

- 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

使用Linq to ObjectiveC可以刪除重複如下:

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

一個distinct方法從數組中返回不同的項目。密鑰選擇器塊允許您確定如何評估等式。在上面的例子中,如果兩個字典具有相同的「用戶名」,則可以看到兩個字典被認爲是相等的。