¿Cómo puedo usar un valor entero como 'clave' para establecer un valor flotante en NSMutableDictionary?¿Cómo puedo usar un valor entero como 'clave' para establecer el valor en NSMutableDictionary?
Respuesta
Como NSDictionarys solamente están diseñados para hacer frente a objetos, una forma sencilla de hacer esto es para envolver el número entero y flotar en un objeto NSNumber. Por ejemplo:
NSMutableDictionary *testDictionary = [[NSMutableDictionary alloc] init];
[testDictionary setObject:[NSNumber numberWithFloat:1.23f]
forKey:[NSNumber numberWithInt:1]];
NSLog(@"Test dictionary: %@", testDictionary);
[testDictionary release];
para extraer el valor correspondiente, basta con utilizar el intValue apropiado, floatValue, etc. método de la clase NSNumber.
Tiene que ser un objeto, así que use [NSNumber numberWithInt:myInteger]
en su lugar.
A continuación, recuperarlo con -integerValue
El método integerValue devuelve un objeto NSInteger, no un int. :-) –
Ouch, eso debería ser -intValue. Gracias middaparka – sidyll
@middaparka: NSInteger no es un objeto. – EmptyStack
Puede usar NSMapTable ya que admite directamente las claves y/o valores enteros. No hay necesidad de box/unbox a través de NSNumber, pero también es un poco más difícil de configurar y usar.
'NSMapTable' solo está disponible en iOS 6 y versiones posteriores. –
NSMapTable contiene referencias débiles, que pueden ser o no lo que usted desea. Sin embargo, eso es diferente a NSDictionary. –
'NSMapInsert' no está disponible en iOS. ¿Hay una mejor manera de establecer un valor entero que no sea algo como esto: '[map setObject: (__ bridge id) ((void *) myInt) forKey: myKey];'? Supongo que valueOptions se estableció en 'NSPointerFunctionsIntegerPersonality | NSPointerFunctionsOpaqueMemory'. – qix
- 1. Usar pares clave-valor como parámetros
- 2. ¿Cómo puedo convertir el valor entero en valor decimal?
- 3. Cómo usar MethodInfo.Invoke para establecer el valor de propiedad?
- 4. ¿cómo puedo ordenar NSMutableDictionary con el valor de las claves?
- 5. Cómo establecer correctamente un valor entero en NSDictionary?
- 6. ¿Puedo establecer nulo como valor predeterminado para @Value en Spring?
- 7. PreferenceActivity: guardar el valor como número entero
- 8. Sincronización en un valor entero
- 9. En SQL, ¿cómo obtengo el valor máximo para un entero?
- 10. ¿Cómo agregar un valor entero en NSMutableArray?
- 11. Cómo establecer manualmente el valor inicial como 1000 en MySQL
- 12. Incrementar el valor int de un entero?
- 13. Cómo establecer el valor de cadena como nula
- 14. ¿Cómo establecer el valor alfa para dibujable en un StateListDrawable?
- 15. ¿Establecer el valor predeterminado en un DataContract?
- 16. ¿Cómo cambiar el nombre de una clave en NSMutableDictionary?
- 17. ¿establecer el valor nulo en una columna de clave externa?
- 18. ¿Un valor entero en recursos de WPF?
- 19. Cómo extraer un valor entero de NSRange?
- 20. Cómo usar Javascript para establecer el valor de área de texto en un formulario en IE
- 21. ¿Cómo puedo obtener un valor de un par clave/valor xml con xpath en mi xslt?
- 22. ¿Cómo puedo analizar un CSV en una matriz con el primer valor como clave?
- 23. cómo desestructurar un mapa como clave y valor
- 24. tratar JSON objetos de valor como un número entero
- 25. Imposible establecer setObject: forKey: en NSMutableDictionary
- 26. ¿Cómo puedo establecer el valor inicial de dijit.form.DateTextBox a hoy?
- 27. ¿Puedo establecer el valor para el atributo renderizado desde JavaScript?
- 28. Cómo establecer el valor div
- 29. número entero Divide y obtener valor entero
- 30. cómo inicializar el diccionario como par (clave, valor, valor) en C#
Gracias middaparka ... – Ratan
Me está diciendo que la clave debe ser 'NSString *', y buscar a través de 'NSKeyValueCoding.h' se ve como todos los métodos esperan cadenas. ¿Ha cambiado algo en el SDK? –