2012-04-20 13 views
0

NSMutableDictionaryを見て、別の変数に対応するキーがあるかどうかを調べる良い方法はありますか?NSMutableDictionary値の参照

私はNSString "テスト" といくつかの値とそれらの値のNSStringキーを持つ変更可能な辞書を持っていると言います。

辞書の値を読み取って、そのキーが「テスト」であるかどうかを確認するには、どのような方法が良いでしょうか。

辞書値を読み込むためのforループを持っている必要がありますか、それとも私が見ていないこれを行うNSDictionaryオブジェクトの一部が既にありますか?

答えて

3

keysOfEntriesPassingTest:メソッドを使用すると、値が@"test"に等しいすべてのキーを見つけることができます。

以下の実装では、最初のキーのみが検出されます。オブジェクトが@"Test"のすべてのキーが必要な場合は、*stopを割り当てないでください。

NSString *target = @"test"; 
NSSet *keys = [myDictionary keysOfEntriesPassingTest:^(id key, id obj, BOOL *stop) { 
    return (*stop = [target isEqual:obj]); 
}]; 
+0

ニース、簡潔な答え。 :) –

2

何がしたいことは、そのキーを正確に「テスト」で一つだけの場合、私はあなただけで、対応するオブジェクトを取得しようとするobjectForKey:を使用することができると思います。キーが存在しない場合、返されるオブジェクトはゼロになります。