将NSNumber转换为int

时间:2012-07-22 01:32:20

标签: objective-c cocoa

编辑:修改问题,缩小范围

我需要使用switch语句来根据NSNumber的int值来指导结果。我的方法如下:

-(BOOL)setImage:(NSNumber*)c{
       switch ([c intValue]){...}
}

运行时,我在交换机上出现“EXC_BAD_ACCESS”错误

我也试过了switch([c integerValue]),但这不起作用

如果我在switch语句中放置一个静态int,程序运行正常。

出了什么问题,如何获得我的NSNumber的int值?

1 个答案:

答案 0 :(得分:2)

如果[c intValue]崩溃,则c不是对象指针。如果它返回意外值,则可能是nil。最好检查一下,并为NO号码返回nil或选择一些默认值。