Pobierz wszystkie klucze NSDictionary jako NSArray

Odpowiedzi:

184

Po prostu użyj

NSArray*keys=[dict allKeys];

Ogólnie rzecz biorąc, jeśli zastanawiasz się, czy dana klasa ma określoną metodę, poszukaj własnej dokumentacji Apple . W takim przypadku zobacz odwołanie do klasy NSDictionary. Przejdź przez wszystkie metody. W ten sposób odkryjesz wiele przydatnych metod.

Yuji
źródło
3
Aby uzyskać tylko pierwszy klucz, należy NSString * firstKey = [dict allKeys] [0];
Mazen Kasser
2
@MazenKasser firstObjectjest bezpieczniejszym rozwiązaniem - w przypadku, gdy słownik nie ma żadnych kluczy, aplikacja nie ulegnie awarii:dict.allKeys.firstObject;
Islam Q.
1
kolejność kluczy zwracanych przez allKeys jest nieokreślona ... więc allKeys.firstObject lub allKeys] [0] jest niebezpieczna tak czy inaczej
Brad Thomas
16

Tak, to możliwe. Użyj metody allKeys :

NSDictionary *yourDictionary;
NSArray * yourKeys
yourKeys = [yourDictionary allKeys];
gsempe
źródło
3

A jeśli chcesz uzyskać wszystkie klucze i wartości , oto co musisz zrobić:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
okropny kod
źródło