0

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

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

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

运行开关时出现“EXC_BAD_ACCESS”错误

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

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

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

4

1 回答 1

3

如果[c intValue]崩溃则c不是对象指针。如果它返回一个意外的值,它可能是nil. 最好检查一下,然后返回NO数字nil或选择一些默认值。

于 2012-07-22T02:45:51.677 回答