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?Acceso a objetos en NSMutableDictionary por índice
Respuesta
Puede obtener un NSArray que contenga las claves del objeto usando 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];
EDIT: En realidad, si entiendo lo que estás tratando de hacer lo que quiera que se hace fácilmente mediante la 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. */
}
EDIT: error tipográfico fijo señalado por Marco.
"allkeys" es "allKeys" – Mark
En 'cellForRowAtIndexPath' en una vista de tabla que podría ser: 'NSArray * keys = [colors allKeys]; NSString * key = [claves objectAtIndex: indexPath.row]; cell = [tv dequeueReusableCellWithIdentifier: @ "CellColour" forIndexPath: indexPath]; cell.textLabel.text = [colores objectForKey: clave]; cell.backgroundColor = [self colorFromHexString: key]; ' –
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 obtiene antes y después de un cambio en el diccionario puede ser completamente diferente
- 1. Acceso a una matriz asociativa por índice entero en PHP
- 2. ¿Por qué LinkedHashMap no proporciona acceso por índice?
- 3. Javascript de acceso índice personalizado
- 4. bucle a través de un NSMutableDictionary
- 5. Subclase NSMutableDictionary
- 6. Agregar a NSDictionary entradas a NSMutableDictionary
- 7. Cómo sincronizar el acceso a muchos objetos
- 8. Velocidad de acceso a un estándar :: vector por iterador vs por operador []/índice?
- 9. Acceso idiomático a objetos json con clojurescript
- 10. static NSMutableDictionary
- 11. ¿Copiando el contenido de un NSMutableDictionary en otro NSMutableDictionary?
- 12. Índice de acceso de $ parent en knockout.js
- 13. Pasando variables NSInteger a NSMutableDictionary o NSMutableArray
- 14. ¿Por qué NSUserDefaults no pudo guardar NSMutableDictionary en iPhone SDK?
- 15. haciendo referencia a objetos Java en un mapa ordenado por índice?
- 16. NSInvalidArgumentException excepción/copyWithZone con NSMutableDictionary
- 17. Objetos inmutables en Java y acceso a datos
- 18. elasticsearch insertar objetos en el índice
- 19. NSMutableDictionary adición y eliminación KVO
- 20. Ordenar un NSMutableDictionary
- 21. caso el acceso a objetos en el controlador de eventos
- 22. Permitir el acceso a los objetos contenedor en C++
- 23. C# Acceso a los objetos de gestión en ManagementObjectCollection
- 24. javascript: obtener acceso a objetos en marco diferente?
- 25. ¿Valor de mapa de acceso a través del índice?
- 26. ¿Cómo actualizar NSMutableDictionary?
- 27. NSMutableDictionary thread safety
- 28. Django: solicitud de acceso a objetos de form.clean de admin()
- 29. ¿Liberación de contenido de NSMutableDictionary?
- 30. Claves de objeto con NSMutableDictionary (Objective-C)
Cuando haga lo siguiente: NSMutableDictionary * tmpDict = [[NSMutableDictionary alloc] init]; [tmpDict setObject: @ "CN-GSM" forKey: @ "Provider:"]; [tmpDict setObject: @ "10010" forKey: @ "Number:"]; [tmpDict setObject: @ "Sí" forKey: @ "Gratis:"]; NSLog (@ "% @", [tmpdict allKeys]); [tmpDict versión]; ¿Por qué la salida no está ordenada por el valor que agregué a tmpDict? – ZYiOS