5

我是一个比较有经验的 iOS 开发者,但是有一件事一直困扰着我,Nil(Capital) 和 nil(lowercase) 和 NULL(如果有的话)在性能和使用方面有什么区别?我绝对确定它们之间存在差异,否则为什么首先将它们单独定义为...

4

1 回答 1

15

基本思想是你使用 NULL 表示 C 指针(0 表示 C 原语),nil 表示 Objective C 实例,Nil 表示 Objective C 类,NSNull作为假装什么都不是什么的一种方式,这样你就可以存储一个什么都没有的实例在数组或字典中。

可以在以下位置找到对此的详细描述以及下面列出的值的来源:http: //nshipster.com/nil/

NULL (void *)0 C 指针的文字空值

nil (id)0 Objective-C 对象的文字空值

Nil (Class)0 Objective-C 类的文字空值

NSNull [NSNull null] 用来表示null的单例对象

于 2013-09-01T03:11:16.057 回答