Obtenga todas las claves de un NSDictionary como NSArray

Respuestas:

184

Solo usa

NSArray*keys=[dict allKeys];

En general, si se pregunta si una clase específica tiene un método específico, busque la documentación de Apple . En este caso, consulte la referencia de clase NSDictionary. Repase todos los métodos. Descubrirá muchos métodos útiles de esa manera.

Yuji
fuente
3
Para obtener la primera clave solamente es NSString * firstKey = [dict allKeys] [0];
Mazen Kasser
2
@MazenKasser firstObjectes una solución más segura; en caso de que el diccionario no tenga claves, la aplicación no fallará:dict.allKeys.firstObject;
Islam Q.20 de
1
el orden de las claves devueltas por allKeys no está definido ... así que allKeys.firstObject o allKeys] [0] es peligroso de cualquier manera
Brad Thomas
16

Si es posible. Utilice el método allKeys :

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

Y si desea obtener todas las claves y valores , esto es lo que debe hacer:

for (NSString *key in dictionary) {
    id value = dictionary[key];
    NSLog(@"Value: %@ for key: %@", value, key);
}
código horrible
fuente