NSInteger!=无

时间:2011-01-25 01:45:30

标签: iphone objective-c ios4

如何检查NSInteger是否有效?

NSInteger previousScore = [[self score] integerValue];
    if (previousScore != nil) {
        //do something
    }

2 个答案:

答案 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