【发布时间】:2009-11-18 20:28:19
【问题描述】:
这个问题的两个部分
1) 这种理解正确吗?
"if (obj)" 正在测试指针是否不是 0x0,也就是设置为整数内存地址
"if (obj != nil)" 是比较对象的内存地址和通用 nil 对象的内存地址
2) 因此,在我不知道变量是否指向任何东西的情况下,如果是,我也不知道该对象是有效对象还是 nil。我想根据这些信息做各种各样的事情,而不仅仅是将消息传递给 obj,我意识到如果它为 nil 将是安全的。这段代码是否正确且必要?
if (obj && obj != nil) {
// Do a bunch of things that should only happen if obj is pointing to a valid object
[obj someMessage];
[anotherObj someOtherMessage];
}
谢谢大家!
【问题讨论】:
标签: iphone objective-c cocoa cocoa-touch null-test