我现在陷入困境,无法检查Objective C中Object何时为NULL。

这是我从_detail.CompanyImg收到虚假通知时NSLog的结果。

_detail.CompanyImg text = (null)


接下来是检查object是否为null。

if (_detail.CompanyImg &&  && [_detail.CompanyImg length] > 0) {


但遇到这样的错误甚至尝试过。


  [NSNull长度]:无法识别的选择器已发送到实例0x10bcaa4c0

最佳答案

对象_detail.CompanyImg显然是NSNull的一个实例,而并非严格nil。这是一种特殊情况,因为不可能在Objective-C集合类中保存空值,因此在必须表示它的情况下,使用NSNull类。

如果您知道这是可能的,那么它将起作用:

if (!_detail.CompanyImg || _detail.CompanyImg == [NSNull null]) {
    // it's null
}


注意:NSNull是使用==进行比较的一种特殊情况。通常您会使用isEqualisKindOfClass

关于ios - XCode如何检查对象是否为NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30774335/

10-12 13:41