Avant de placer la valeur int dans le dictionnaire, j’ai défini la valeur int comme [NSNumber numberWithInt: 2], maintenant que j’essaie de récupérer le contenu du dictionnaire, je le veux au format int .. comment le faire?
voici mon code;
NSMutabelDictionary *dict = [[NSMutableDictionary alloc]init];
int intValue = 300;
[dict setObject:[NSNumber numberWithInt:intValue] forKey:@"integer"];
retriving .........
int number = [dict ObjectForKey:@"integer"];
.. il jette une exception sayin casting est requis .. quand je le fais de cette façon ..
int number = (int)[dict ObjectForKey:@"integer"];
ç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 devriez 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
puis:
NSInteger value = [number integerValue];
Utilisez la méthode NSNumber intValue
Une approche moins verbeuse:
int number = [dict[@"integer"] intValue];