Objective-C:if(object)与if(object!= nil)的区别

10

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

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

4
这个问题曾引发过战争。我倾向于后者。 - Hot Licks
2个回答

13

正如你所说,它们是等效的。因此...

我应该使用哪种样式?

任何一种都可以。


我个人认为第一个更易读和简洁,但再次强调这并不重要。 - tjg184

3

从功能上来说,它们是等价的。但我认为第二种陈述方式使代码更易读。当人们阅读这行代码时,他们会理解它的意思是“如果对象不指向空”。

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接