comment convertir NSNumber en int en Objective-C

Avant de mettre la valeur int dans le dictionnaire, j’ai défini la valeur int comme [NSNumber numberWithInt: 2], maintenant, quand j’essaye de récupérer le contenu du dictionnaire, je veux le remettre dans int format ..

voici mon code;

NSMutabelDictionary *dict = [[NSMutableDictionary alloc]init]; int intValue = 300; [dict setObject:[NSNumber numberWithInt:intValue] forKey:@"integer"]; 

en rentrant ………

 int number = [dict ObjectForKey:@"integer"]; 

.. il jette une exception sayin casting est requirejs .. quand je le fais de cette façon ..

 int number = (int)[dict ObjectForKey:@"integer"]; 

stil ça ne marche pas …

Comment résoudre ce problème?/

veuillez suggérer..

Regardez la documentation . Utilisez la méthode intValue :

 int number = [[dict objectForKey:@"integer"] intValue]; 

Vous devez vous en tenir aux types de données NSInteger lorsque cela est possible. Donc, vous créez le numéro comme ça:

 NSInteger myValue = 1; NSNumber *number = [NSNumber numberWithInteger: myValue]; 

Le décodage fonctionne avec la méthode integerValue :

 NSInteger value = [number integerValue]; 

Utilisez la méthode intValue

Voici la documentation de référence Apple

Une approche moins verbeuse:

 int number = [dict[@"integer"] intValue];