【问题标题】:Checking for a nil value [duplicate]检查零值[重复]
【发布时间】:2011-08-10 14:50:33
【问题描述】:

可能重复:
! vs == nil in objective-c

在Objective C中,以下两个条件句有区别吗?

NSObject *obj; if(!obj) { ... }

还有:

NSObject *obj; if(obj == nil) { ... }

谢谢!只是好奇,知道这是件好事。

【问题讨论】:

标签: objective-c ios conditional null


【解决方案1】:

这两种形式没有区别。

【讨论】:

    【解决方案2】:

    !objobj=NULLobj=@"" 或空数组等时也有效。你明白了。

    !obj 更全面,因为您似乎使用的是 NSObject 而不是任何特定的对象类型。

    【讨论】:

    • obj@"" 或一个空数组时,!objnot true(“有效”?)。此外,nil 是表示空对象引用的传统方式,而不是 NULL
    • !objobj=@"" 和空的NSArray 对象时为真。 @"" 是指向长度为0NSString 对象的指针。该指针永远不会是NULL(或nil),因为它是在编译时分配的。
    • 想删除这个!我想那是不可能的……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-17
    • 1970-01-01
    • 2015-03-26
    • 2017-04-20
    • 2012-04-01
    • 1970-01-01
    相关资源
    最近更新 更多