【发布时间】:2016-01-17 13:58:55
【问题描述】:
我想检查属性是否存在 NSNumber,并排除变量为空、未定义、nil、NULL 等的任何情况。
属性定义如下:
@property (nonatomic, 保留) NSNumber * id;
我一直在使用以下:
if (item.id) {
//has a valid id such as 1,2,3,4
}
else {
//does not have a valid id.. could be 0, nil, NULL etc.
}
我这样做对吗?
注意,我知道可以使用 ([item.id intValue] != 0) 来检查它。那不是我的问题。我的问题是是否也可以像(item.id)一样检查,如果可以,为什么不呢?
对于字符串,我通常检查字符串长度,但对于数字,我的理解是,长度属性不可用。
【问题讨论】:
-
你到底在问什么?检查属性是否为
nil,如果不是,请检查其 intValue、floatValue 或其他 -
这不是一个双重职位。另一个答案询问如何排除。我在很多地方都有这篇文章中的代码,并想检查它是否能检测出好的值……区别很微妙——它可能会让一些人感到困惑,因为它显然让你感到困惑。
-
if (_item.id != nil && [_item.id intValue] != 0)是其他问题的建议解决方案,并且与此问题完全相同。
标签: ios objective-c null