如何检查NSInteger是否有效?
NSInteger previousScore = [[self score] integerValue];
if (previousScore != nil) {
//do something
}
答案 0 :(得分:14)
如果您想检查代码的有效性,可以执行以下操作:
NSNumber *previousScore = [self score];
if ( previousScore != nil ) {
NSInteger previousScoreValue = [previousScore integerValue];
// do something
}
这可以在您获取对象时起作用,而不是原始值。
答案 1 :(得分:13)
NSInteger
不是对象。它只是一个类型化的原始int
。因此,它永远不会是nil
。只需将其视为直接使用int
即可。
修改强>
为了阐述Cesar的评论,在64位系统上NSInteger
实际上是long
,在32位系统上它是int
。