所以有NULL
,一般用于指针,nil
,用于对象指针。
现在我看到还有Nil
,它由较低级别的Obj-C运行时函数使用,如class_getProperty
。
这与哲学上的nil
有何不同? (是的,我知道他们实际上都是0)
为什么要介绍?或者,如果Nil
是第一个(可能是),为什么会引入nil
?
答案 0 :(得分:7)
谷歌搜索“Nil vs nil”发现了这篇文章http://numbergrinder.com/node/49,其中指出:
这三个值都代表 null或零指针值。该 不同的是,虽然是NULL 对于任何指针都表示零,为零 特定于对象(例如,id)和 Nil特定于类指针。它 应被视为最佳做法 使用正确的null对象 在适当的情况下 文档目的,即使 什么都没有阻止某人 混合和匹配。