Obtenir toutes les clés d'un NSDictionary en tant que NSArray

86

Est-il possible d'obtenir toutes les clés d'un particulier NSDictionaryséparément NSArray?

Geai
la source

Réponses:

184

Juste utiliser

NSArray*keys=[dict allKeys];

En général, si vous vous demandez si une classe spécifique a une méthode spécifique, consultez la documentation d'Apple . Dans ce cas, consultez Référence de classe NSDictionary. Passez en revue toutes les méthodes. Vous découvrirez ainsi de nombreuses méthodes utiles.

Yuji
la source
3
Pour obtenir la première clé uniquement, NSString * firstKey = [dict allKeys] [0];
Mazen Kasser
2
@MazenKasser firstObjectest une solution plus sûre - si le dictionnaire n'a pas de clés, l'application ne plantera pas:dict.allKeys.firstObject;
Islam Q.
1
l'ordre des clés renvoyées par allKeys n'est pas défini ... donc allKeys.firstObject ou allKeys] [0] est dangereux dans les deux cas
Brad Thomas
16

Oui c'est possible. Utilisez la méthode allKeys :

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

Et si vous souhaitez obtenir toutes les clés et valeurs , voici ce que vous faites:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
horrible code
la source