0

私はNSMutableArrayすなわち、オブジェクトを含む本を持っています。これらのオブジェクトは次 のとおりですNSMutableDictionay。各オブジェクトは、ID、名前、ユーザー名の3つのキーと値のペアです。値を持つオブジェクトが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重複を削除したいのですが、重複していますobject2username -> 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"];
}];

個別のメソッドは、配列から個別のアイテムを返します。キー セレクター ブロックを使用すると、等価性の評価方法を決定できます。上記の例では、2 つの辞書が同じ「ユーザー名」を持つ場合、それらは等しいと見なされることがわかります。

于 2013-04-18T05:32:33.007 に答える