如何在Objective-C中将NSNumber转换为int

在将int值放入字典之前,我已经将int值设置为[NSNumber numberWithInt:2],现在当我尝试检索字典内容时,我希望以int格式返回.. hw执行此操作?

这是我的代码;

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

retriving ………

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

..它抛出一个例外sayin铸造是必需的..当我这样做..

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

stil它不工作…

如何解决这个问题呢?/

请build议..

看看文档 。 使用intValue方法:

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

在可能的情况下,您应该坚持使用NSInteger数据types。 所以你会创build这样的数字:

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

解码使用integerValue方法,然后:

 NSInteger value = [number integerValue]; 

使用NSNumber方法intValue

这是苹果的参考文件

不太详细的方法:

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