web-dev-qa-db-ja.com

値/オブジェクトのNSDictionaryキー?

特定の値またはオブジェクトを渡すことで、NSDictionary内のオブジェクトのキーを取得できますか?

79
Syed Absar

-[NSDictionary allKeysForObject:] は、オブジェクトが渡されたオブジェクトと一致するすべてのキーのNSArrayを返します。ここで、「一致」はisEqual:

147
Josh Caswell

より具体的な方法で質問に答えるには、次を使用して特定のオブジェクトのキーを取得します。

NSString *knownObject = @"the object";
NSArray *temp = [dict allKeysForObject:knownObject];
NSString *key = [temp lastObject];

//"key" is now equal to the key of the object you were looking for
43
AddisDev

これは、オブジェクトの最初のキーを取得する方法です(NSStringの場合):

NSArray *keys = [yourDic allKeysForObject:yourObject];
NSString *yourKey;
if ([keys count] > 0) {
   yourKey = keys[0];
}

これは、オブジェクトがディクショナリに見つからない場合に処理します。

3
wzbozon