【发布时间】:2011-02-05 01:55:02
【问题描述】:
我对 Objective-C 中的 nil 感到困惑,因为苹果说可以向 nil 对象发送消息。
所以假设这段代码:
Foo * myFoo;
[myFoo doSomeStuff];
在 Xcode 中这不会崩溃,为什么?在 Objective-C 中未分配的指针是否与 nil 相同。
谢谢。
【问题讨论】:
-
myFoo是全局变量吗?这些总是初始化为零。 -
myFoo 不是全局变量。
-
@Gallois:未分配的指针和未初始化的指针是有区别的。您有一个未初始化的指针,当指针在堆栈(局部变量)上分配且未初始化时,行为未定义,如答案中所述。
标签: objective-c pointers null