nil有什么含义吗

Python012

nil有什么含义吗,第1张

nil:指向oc中对象的空指针

Nil:指向oc中类的空指针。

NULL:指向其他类型的空指针,如一个c类型的内存指针。

一、nil

给对象赋值时一般会使用object = nil,表示想把这个对象释放掉;或者对象由于某种原因,经过多次release,于是对象引用计数器为0了,系统将这块内存释放掉,这个时候这个对象为nil,称它为“空对象”。

二、Nil

nil和Nil在使用上是没有严格限定的,也就是说凡是使用nil的地方都可以用Nil来代替,反之亦然。只不过从编程人员的规约中约定俗成地将nil表示一个空对象,Nil表示一个空类。

三、NULL

我们知道Object-C来源于C、支持于C,当然也有别于C。而NULL就是典型C语言的语法,它表示一个空指针。

类与对象的概念

类是对同一类事物高度的抽象,类中定义了这一类对象所应具有的静态属性(属性)和动态属性(方法)。对象是类的一个实例,是一个具体的事物;类与对象是抽象与具体的关系。类其实就是一种数据类型,它的变量就是对象。

类与类之间的关系——继承关系

A是B

例如:学生与小学生 小学生也是学生,所以学生是小学生的父类,小学生是学生的子类。

oc与面向对象

对象是oc程序的核心。“万事万物皆对象”是程序中的核心思想。

类是用来创见同一类型的对象的模板,在一个类中定义了该类对象所具有的成员变量以及方法。

类可以看成是静态属性(实例变量)和动态属性(方法)的集合体。

IOS SDK里面提供了大量供编程人员使用的类,编程人员也可以定义自己的类。

NULL、nil、Nil这三者对于Objective-C中值是一样的,都是(void *)0,那么为什么要区分呢?又与NSNull之间有什么区别:

NULL是宏,是对于C语言指针而使用的,表示空指针

nil是宏,是对于Objective-C中的对象而使用的,表示对象为空

Nil是宏,是对于Objective-C中的类而使用的,表示类指向空

NSNull是类类型,是用于表示空的占位对象,与JS或者服务端的null类似的含意