Objective-C:if(object)Vs. if(object!= nil)

时间:2011-06-16 02:21:32

标签: objective-c coding-style if-statement

假设object是一种NSObject,以下if语句是等价的,但我应该使用哪种样式?

if (object) {
    // ...
}

if (object != nil) {
    // ...
}

2 个答案:

答案 0 :(得分:13)

正如你所说,他们是等同的。因此...

  

我应该使用哪种风格?

无论你想要哪一个。

答案 1 :(得分:3)

他们在做同样事情的意义上是等同的。但我认为第二个语句使代码更具可读性。当一个人阅读该行时,他们会理解这意味着“如果对象没有指向任何东西”。

记住Knuth的格言:编程语言是一种以人类可读的形式向机器发送指令的方式......