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即可;

你可能感兴趣的:(null,id,bool,nil)