如何检查NSInteger是否有效?
NSInteger previousScore = [[self score] integerValue];
if (previousScore != nil) {
//do something
}发布于 2011-01-25 10:36:33
如果你想检查代码的有效性,你可以这样做:
NSNumber *previousScore = [self score];
if ( previousScore != nil ) {
NSInteger previousScoreValue = [previousScore integerValue];
// do something
}当你得到一个对象,而不是一个原始值时,它就起作用了。
发布于 2011-01-25 09:48:36
NSInteger不是一个对象。它只是一个类型转换的原始int。因此,它永远不会是nil。就像你直接使用int一样对待它。
编辑:阐述塞萨尔的评论,在64位系统上,NSInteger实际上是一个long,而在32位系统上,它是一个int。
https://stackoverflow.com/questions/4789214
复制相似问题