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


Ответы:


184

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

NSArray*keys=[dict allKeys];

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


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];

3

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

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.