我看过很多 ObjC 代码,它们可以:
obj = [[SomeObject alloc] init];
if (obj) {
/// ...
}
但据我了解,() 里面的值是布尔值,0 表示 FALSE 1 表示 TRUE(在其他语言中还有另一种情况,0 为真,1 为假),如果指针不指向任何东西,它设置为 NULL(nil),即 #defined 为 0,所以我想知道如果我这样做会更好:
if (obj != nil) {
/// ...
}
因为它正在检查 obj 是否为 nil,无论值nil
是什么,所以它不依赖于nil
(或NULL
)恰好被定义为 0?