编辑:修改问题,缩小范围
我需要使用switch语句来根据NSNumber的int值来指导结果。我的方法如下:
-(BOOL)setImage:(NSNumber*)c{
switch ([c intValue]){...}
}
运行时,我在交换机上出现“EXC_BAD_ACCESS”错误
我也试过了switch([c integerValue])
,但这不起作用
如果我在switch语句中放置一个静态int,程序运行正常。
出了什么问题,如何获得我的NSNumber的int值?
答案 0 :(得分:2)
如果[c intValue]
崩溃,则c
不是对象指针。如果它返回意外值,则可能是nil
。最好检查一下,并为NO
号码返回nil
或选择一些默认值。