iPhone:nil与Nil、true与TRUE的区别

11

nilNil在iOS开发中有什么区别?

同样地,trueTRUE在iOS开发中有什么区别?


以下答案可能会在某种程度上对您有所帮助。https://dev59.com/t2025IYBdhLWcg3wl3O- - Easwaramoorthy K
2个回答

22
我认为这将帮助您理解nilNil之间的区别。
请查看以下链接:
参考Damien_The_Unbeliever的答案,其中指出:
谷歌搜索“Nil vs nil”找到了这篇文章http://numbergrinder.com/node/49,其中指出:
所有这三个值都代表null或零指针值。区别在于,虽然NULL表示任何指针的零,但是nil特定于对象(例如id),而Nil特定于类指针。应该考虑在文档目的上使用正确的空对象,即使没有阻止某人在进行混合和匹配时混合使用它们。
可以在此处查看该答案的链接: What does 'Nil' represent in Obj-C? 编辑-2:

在Objective-C中,YES/NO、TRUE/FALSE和true/false有区别吗?


请检查答案的EDIT-2部分。它解释了TRUE vs true vs YES的区别。 - Parth Bhatt
Parth Bhatt - id和class指针有什么区别?据说nil特定于对象,而Nil表示类指针。请详细说明。 - shah1988
多么糟糕的语言设计。 - Anirudha Agashe

7

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

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

if (anotherObject == nil) // do something

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

 Class someClass = Nil;
 Class anotherClass = [NSString class];

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接