NSNull,nil,Null

http://www.jianshu.com/p/2ea9c3f737ea

一、nil的定义是null pointer to object-c object,

      指的是一个OC对象指针为空,本质就是(id)0,是OC对象的字面0值

二、NULL的定义是null pointer to primitive type or absence of data,

  指的是一般的基础数据类型为空,可以给任意的指针赋值。本质就是(void *)0,是C指针的字面0值。

三、Nil的定义是null pointer to object-c class,

  指的是一个类指针为空。本质就是(class)0,OC类的字面零值。

四、NSNull好像没有什么具体的定义(懵),

  它包含了唯一一个方法+(NSNull*)null,[NSNull null]是一个对象,用来表示零值的单独的对象。

原文地址:https://www.cnblogs.com/superbobo/p/5518815.html