Objective-C中Nil、nil和Null的区别

5

我是一名相对有经验的iOS开发者,但有一件事情一直困扰着我,那就是Nil(大写)、nil(小写)和NULL在性能和用法上有什么区别?我绝对确定它们之间存在差异,否则为什么会首先分别定义它们...


1
https://dev59.com/EXI_5IYBdhLWcg3wBuNs#1564846 - Lucas Eduardo
1个回答

15
基本思想是,在C指针中使用NULL(对于C原始类型使用0),在Objective C实例中使用nil,在Objective C类中使用Nil,并将NSNull用作假装什么也没有的一种方式,以便您可以在数组或字典中存储一个空实例。
可以在以下网址找到关于此内容的详细描述和列出的值来源: http://nshipster.com/nil/

NULL (void *)0 C指针的字面值null值

nil (id)0 Objective-C对象的字面值null值

Nil (Class)0 Objective-C类的字面值null值

NSNull [NSNull null] 单例对象,用于表示null


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