iPhone:nil vs Nil和true vs TRUE之间的差异

Dev*_*ang 11 iphone objective-c ios

有什么区别nilNil在iOS开发?

而同样是有什么区别trueTRUE在iOS开发?

Par*_*att 21

我认为这将有助于你理解之间的差异nilNil.

请找到以下链接:

请参阅Damien_The_Unbeliever的答案,其中说明:

谷歌搜索"Nil vs nil"发现这篇文章http://numbergrinder.com/node/49,其中指出:

所有这三个值都表示null或零指针值.不同之处在于,对于任何指针,NULL表示零,nil特定于对象(例如,id),Nil特定于类指针.在正确的环境中使用正确的空对象进行记录时应该被认为是最佳实践,即使没有什么能阻止某人在进行混合和匹配时.

可以在此处看到该答案的链接:

'Nil'在Obj-C中代表什么?

EDIT 2:

在Objective-c中,YES/NO,TRUE/FALSE和true/false之间是否有区别?


sin*_*h99 6

nil是Objective-C对象的文字空值,对应于抽象类型id或通过@interface声明的任何Objective-C类型.例如:

NSString *someString = nil;
NSURL *someURL = nil;
id someObject = nil;

if (anotherObject == nil) // do something
Run Code Online (Sandbox Code Playgroud)

Nil是Objective-C类的文字空值,对应于类型Class.由于大多数代码不需要变量来引用类,因此它的使用并不常见.一个例子是:

 Class someClass = Nil;
 Class anotherClass = [NSString class];
Run Code Online (Sandbox Code Playgroud)