objective c - cómo convertir NSNumber a int en Objective-C
(4)
Debería atenerse a los tipos de datos NSInteger
cuando sea posible. Entonces crearías el número así:
NSInteger myValue = 1;
NSNumber *number = [NSNumber numberWithInteger: myValue];
La decodificación funciona con el método integerValue
luego:
NSInteger value = [number integerValue];
Antes de poner el valor int en el diccionario he establecido el valor int como [NSNumber numberWithInt: 2], ahora cuando intento recuperar el contenido del diccionario, lo quiero de nuevo en formato int ... hw para hacer esto?
aquí está mi código;
NSMutabelDictionary *dict = [[NSMutableDictionary alloc]init];
int intValue = 300;
[dict setObject:[NSNumber numberWithInt:intValue] forKey:@"integer"];
recuperando .........
int number = [dict ObjectForKey:@"integer"];
.. arroja una excepción diciendo que se requiere casting ... cuando lo hago de esta manera ...
int number = (int)[dict ObjectForKey:@"integer"];
aún no funciona ...
¿Cómo resolver este problema?/
Por favor recomiende..
Eche un vistazo a la documentation . Use el método intValue
:
int number = [[dict objectForKey:@"integer"] intValue];
Un enfoque menos detallado:
int number = [dict[@"integer"] intValue];
Use el método intValue
Aquí está la documentación de referencia de Apple