nil、nil、NULL和NSNull简介


浏览:1067 次

让我们介绍四种类型:nil、nil、NULL和NSNull:

1、 无

当我们给一个对象赋值时,我们通常使用object=nil来表示我想释放这个对象;

或者,由于某种原因,对象已被释放多次,因此对象引用计数器为0,系统将释放此内存。此时,这个对象被称为nil,我称之为“空对象”。(注:我在这里强调“空对象”,我会将其与“空对象“进行比较!!)

因此,对于这样一个空对象,对retain的所有操作都会导致程序崩溃,例如向字典中添加键值或向数组中添加新的原语。有关详细信息,请参阅以下代码:

2、 NSNull

NSNull和nil之间的区别在于nil是一个空对象,它已从内存中完全消失。如果我们想表达“我们需要这样一个容器,但里面什么都没有”的概念,我们使用NSNull。我称之为“具有空值的对象”。如果查阅开发文档,您会发现NSNull继承自NSObject,并且只有一个“+(NSNull*)null;”类方法。这意味着NSNull对象具有有效的内存地址,因此程序中对它的任何引用都不会导致程序崩溃。参考代码如下:

3、 无

对nil和nil的使用没有严格限制,即无论在何处使用nil,都可以用nil代替,反之亦然。仅从程序员的规范来看,我们通常使用nil表示空对象,nil表示空类。参考代码如下:

4、 空

我们知道Object-C来自C,支持C,并且不同于C。NULL是典型C语言的语法,它表示空指针。

相关资讯:
农产品电子商务向企业个人农产品电子贸易方向发展的效益

农产品电子商务向企业个人农产品电子贸易方向发展的效益

查看
Web 3.0技术的基本方向

Web 3.0技术的基本方向

查看
认知

认知

查看
面向对象的

面向对象的

查看
2018-12-25

2018-12-25

查看