2016-08-08 4 views
-2
{ 
    distance = "0.03159804520191554"; 
    rid = 374824705969; 
    uuid = "1838346268_374823983610_2016-08-08T07:32:08.679GMT"; 
}, 
{ 

    rid = 374824705969; 
    uuid = "1838346268_374823983610_2016-08-08T07:32:08.679GMT"; 
}, 
{ 
    rid = 374824706065; 
    uuid = "1838346268_374823983610_2016-08-08T07:32:22.680GMT"; 
} 

これは私が辞書の配列から得たものです。私はループを使用せずにrid = 374824705969の重複を削除したいと思います。 ありがとうございます。特定のキーの辞書の配列から重複を削除する方法

+0

あなたが何をしようとしたのですか? – JimHawkins

+0

私は何も試していませんでした。私が客観的なCのために新しいので、私は何をすべきか分かりません。 –

+0

NSSetは異なるキーまたは複数のキーに対応していません。 –

答えて

0

は、これらの方法を試してください。

NSArray *array = @[ 
    @{ 
     @"rid" : @374824705969, 
     @"uuid" : @"1838346268_374823983610_2016-08-08T07:32:08.679GMT" 
    }, 
    @{ 
     @"rid" : @374824705969, 
     @"uuid" : @"1838346268_374823983610_2016-08-08T07:32:08.679GMT" 
    }, 
    @{ 
     @"rid" : @374824706065, 
     @"uuid" : @"1838346268_374823983610_2016-08-08T07:32:22.680GMT" 
    }]; 


    NSMutableSet *keys = [NSMutableSet new]; 
    NSMutableArray *result = [NSMutableArray new]; 

    for (NSDictionary *data in array) { 
     NSString *key = data[@"rid"]; 
     if ([keys containsObject:key]) { 
      continue; 
     } 

     [keys addObject:key]; 
     [result addObject:data]; 
    } 

NSLog(@"%@", result); 
+0

この仕事は私のために@Konstantinに感謝しますが、これではループを使用しています。何もない場合。辞書の大きさは? –

+0

次に、辞書の代わりに独自のクラスを使用し、 '' - (NSUinteger)hash'''を書き直してください。 NSArrayではなくNSSetにこれらのオブジェクトを配置します – Konstantin

関連する問題