Holen Sie sich alle Schlüssel eines NSDictionary als NSArray

86

Ist es möglich, alle Schlüssel von einem bestimmten NSDictionaryals separat zu erhalten NSArray?

Jay
quelle

Antworten:

183

Benutz einfach

NSArray*keys=[dict allKeys];

Wenn Sie sich fragen, ob eine bestimmte Klasse eine bestimmte Methode hat, lesen Sie im Allgemeinen die Apple-eigene Dokumentation . In diesem Fall siehe NSDictionary-Klassenreferenz. Gehen Sie alle Methoden durch. Auf diese Weise werden Sie viele nützliche Methoden entdecken.

Yuji
quelle
3
Um nur den ersten Schlüssel zu erhalten, ist NSString * firstKey = [dict allKeys] [0];
Mazen Kasser
1
@ MazenKasser firstObjectist eine sicherere Lösung - falls das Wörterbuch keine Schlüssel hat, stürzt die App nicht ab:dict.allKeys.firstObject;
Islam Q.
1
Die Reihenfolge der von allKeys zurückgegebenen Schlüssel ist undefiniert. Daher ist allKeys.firstObject oder allKeys] [0] in beiden Fällen gefährlich
Brad Thomas,
16

Ja es ist möglich. Verwenden Sie die allKeys- Methode:

NSDictionary *yourDictionary;
NSArray * yourKeys
yourKeys = [yourDictionary allKeys];
gsempe
quelle
3

Und wenn Sie alle Schlüssel und Werte erhalten möchten, gehen Sie wie folgt vor:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
schrecklicher Code
quelle