如何在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];