iOS中nil Nil NULL 区别

1、nil
当一个对象置为nil时,这个对象的内存地址就会被系统收回。置空以后是不能进行retain,copy等跟引用计数有关的任何操做的。
2、Nil
nil彻底等同于Nil,只不过因为编程习惯,人们通常把对象置空用nil,把类置空用Nil。
3、NULL
这个是从C语言继承来的,就是一个简单的空指针
4、[NSNull null]
这个才是重点:[NSNull null]和nil的区别在于,nil是一个空对象,已经彻底从内存中消失了,而若是咱们想表达“咱们须要有这样一个容器,但这个容器里什么也没有”的观念时,咱们就用到[NSNull null],它就是为“值为空的对象”。若是你查阅开发文档你会发现NSNull这个类是继承NSObject,而且只有一个“+ (NSNull *) null;”类方法。这就说明NSNull对象拥有一个有效的内存地址,因此在程序中对它的任何引用都是不会致使程序崩溃的。编程

相关文章
相关标签/搜索