【IOS开发笔记3】nil、Nil、NULL和[NSNull null]的关系

一、nil
当一个对象置为nil时,这个对象的内存地址就会被系统收回。置空之后不能进行copy等跟引用计数有关的操作。
二、Nil
nil完全等同于Nil,仅由于编程习惯,通常把对象置空用nil,把类置空用Nil。
三、NULL
从C语言继承而来,就是一个简单的空指针。
四、[NSNull null]
nil是一个空对象,已经完全从内存中消失了。[NSNull null]表示“需要有一个容器,但里面什么也没有”,就是“值为空的对象”。NSNull这个类是继承NSObject,并且只有一个“+ (NSNull *) null;”类方法。说明NSNull对象拥有一个有效的内存地址,所以在程序中对它的任何引用都不会导致程序崩溃。

原创文章,转载请注明: 转载自顾威敏博客

本文链接地址: 【IOS开发笔记3】nil、Nil、NULL和[NSNull null]的关系

《【IOS开发笔记3】nil、Nil、NULL和[NSNull null]的关系》有1个想法

卢松松博客进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>