OC中 Null 与 nil的区别

Posted 芒果味ly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OC中 Null 与 nil的区别相关的知识,希望对你有一定的参考价值。

NULL是指指针是空值,用来判断C 指针;

nil是指一个OC对象(指针)为空;

Nil是指一个OC类为空;

NSNull则用于填充集合元素;这个类只有一个方法null,并且是单例的;

虽然它们表示的都是空值,但使用场合完全不同,所以在编码时要严格按照变量类型来赋值;


还有BOOL 和bool也一并说了吧:

BOOL 其实是定义出来的,并不是OC的对象,他的本质是unsigned char ,所以能存储0-255的数字;

bool 是做过处理的只能存储0或者1;


顺便id也提提吧

id也是定义出来的,原型是结构体指针,所以我们在使用时就不用带‘*’了,说白了OC的对象底层都是通过结构存储的,然后在结构体之间建立关系,那就是OC的继承体系了;


关于定义类型有很多,比如NSInteger等等;

我们也可以自己定义,使用typedef即可;

以上是关于OC中 Null 与 nil的区别的主要内容,如果未能解决你的问题,请参考以下文章

iOS-nil,Nil,NULL的区别

OC,nil,NULL,Nil,kCFNull

iOS 中nil,Nil,NULL,NSNull的区别

NULL & nil & Nil & NSNULL

NSNull,nil,Null

Objective-C 中 nil、NIL 和 null 之间的区别