NSDictionary ключ для значения / объекта? - PullRequest
78 голосов
/ 25 мая 2011

Можем ли мы получить ключ для объекта в NSDictionary, передав определенное значение или объект?

Ответы [ 3 ]

147 голосов
/ 25 мая 2011

-[NSDictionary allKeysForObject:] возвращает NSArray всех ключей, чьи объекты соответствуют переданному объекту, где "match" определяется как isEqual:.

42 голосов
/ 02 мая 2012

Чтобы ответить на ваш вопрос более конкретным образом, используйте следующую команду, чтобы получить ключ для определенного объекта:

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
3 голосов
/ 15 марта 2013

Вот как вы можете получить первый ключ для объекта (если это NSString):

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

Обрабатывается, если объект не найден в словаре.

...