objective-c - framework - objective c ios
Acceder a objetos en NSMutableDictionary por índice (2)
Puede obtener un NSArray que contenga las claves del objeto utilizando el método allKeys. A continuación, puede examinar eso por índice. Tenga en cuenta que el orden en que aparecen las teclas en la matriz es desconocido. Ejemplo:
NSMutableDictionary *dict;
/* Create the dictionary. */
NSArray *keys = [dict allKeys];
id aKey = [keys objectAtIndex:0];
id anObject = [dict objectForKey:aKey];
EDITAR: En realidad, si entiendo lo que está tratando de hacer lo que quiere se hace fácilmente usando enumeración rápida, por ejemplo:
NSMutableDictionary *dict;
/* Put stuff in dictionary. */
for (id key in dict) {
id anObject = [dict objectForKey:key];
/* Do something with anObject. */
}
EDITAR: Corregido error tipográfico señalado por Marco.
Para mostrar las claves / valores de un NSMutableDictionary secuencialmente (en una vista de tabla), necesito acceder a ellos por índice. Si el acceso por índice pudiera dar la clave en ese índice, podría obtener el valor. ¿Hay alguna manera de hacer eso o una técnica diferente?
puede obtener una matriz de todas las claves con el método allKeys
del diccionario; y luego puedes acceder a la matriz por índice. sin embargo, un diccionario en sí mismo no tiene un orden inherente, por lo que el orden de las claves que obtenga antes y después de un cambio en el diccionario puede ser completamente diferente