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.


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

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);
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.