Получить все ключи NSDictionary как NSArray

Ответы:

184

Просто используйте

NSArray*keys=[dict allKeys];

В общем, если вам интересно, есть ли у определенного класса определенный метод, поищите собственную документацию Apple . В этом случае см. Справку по классу NSDictionary. Пройдите все методы. Таким образом вы откроете для себя много полезных методов.

Yuji
источник
3
Чтобы получить только первый ключ: NSString * firstKey = [dict allKeys] [0];
Mazen Kasser
2
@MazenKasser firstObject- более безопасное решение - в случае, если в словаре нет ключей, приложение не выйдет из строя:dict.allKeys.firstObject;
Islam Q.
1
порядок ключей, возвращаемых allKeys, не определен ... поэтому allKeys.firstObject или allKeys] [0] опасны в любом случае
Брэд Томас,
16

Да, это возможно. Используйте метод allKeys :

NSDictionary *yourDictionary;
NSArray * yourKeys
yourKeys = [yourDictionary allKeys];
Gsempe
источник
3

И если вы хотите получить все ключи и значения , вот что вам нужно сделать:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
ужасный код
источник