objective-c nsnumber

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];