编辑:修改问题,缩小范围
我需要使用 switch 语句来根据 NSNumber 的 int 值来指示结果。我的方法如下所示:
-(BOOL)setImage:(NSNumber*)c{
switch ([c intValue]){...}
}
当我运行交换机时,我收到“EXC_BAD_ACCESS”错误
我也尝试过 switch([c integerValue])
但这也不起作用
如果我在 switch 语句中放置一个 static int,程序运行正常。
出了什么问题,如何获取 NSNumber 的 int 值?
最佳答案
如果[c intValue]
崩溃,则c
不是对象指针。如果它返回意外值,则可能是nil
。最好检查一下,对于 nil
数字返回 NO
或选择一些默认值。
关于objective-c - 将 NSNumber 转换为 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11597153/