NSDictionary值/对象的关键?

时间:2011-05-25 07:26:28

标签: objective-c cocoa-touch ios nsdictionary

我们可以通过传递特定值或对象来获取NSDictionary中对象的密钥吗?

3 个答案:

答案 0 :(得分:147)

-[NSDictionary allKeysForObject:]返回其对象与传递的对象匹配的所有键的NSArray,其中“匹配”由isEqual:确定。

答案 1 :(得分:42)

要以更具体的方式回答您的问题,请使用以下内容获取特定对象的密钥:

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

答案 2 :(得分:3)

这是你如何获得对象的第一个键(如果它是NSString):

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

如果在字典中找不到对象,则会处理。