零和零之间有什么区别

use*_*951 27 xcode objective-c

在目标C?

他们真的是一回事吗?

如何测试一个对象是否为零?

Ita*_*ber 50

Nil并被nil定义为相同的东西(__DARWIN_NULL),并且意味着表示无效(像空指针一样NULL).Nil用于类指针,nil用于对象指针(您可以在objc.h中阅读更多内容 ;搜索Nil).最后,您可以测试这样的null值:

if (object == nil)
Run Code Online (Sandbox Code Playgroud)

或者像这样:

if (!object)
Run Code Online (Sandbox Code Playgroud)

因为布尔评估将使包含对象的任何有效指针评估为true.


Jer*_*myP 10

nil是指向对象的空指针的Objective-C常量,Nil具有相同的定义.实际上,它与C常数具有相同的值NULL.测试这样的nil对象:

if (fooObj == nil)
Run Code Online (Sandbox Code Playgroud)

在我的代码中,我倾向于使用nilObjective-C对象和NULL其他C指针.这是个人品味的问题 - 目前nil和NULL可以在所有现有的Objective-C实现中进行比较.

  • 实际上,定义了'Nil`(它与`nil`相同).查看[objc.h](http://www.opensource.apple.com/source/objc4/objc4-371.1/runtime/objc.h). (7认同)