OC中nil、Nil、NULL、NSNull的区别

2019-12-08  本文已影响0人  一叶知秋0830

nil

nil表示一个OC对象(类对象除外)为空,也就是表示对象制作不指向任何对象。给nil对象发送消息时什么都不会执行,也不会抛异常。

Nil

Nil用于表示一个OC类对象为空,比如:Class myClass = Nil;

NULL

NULL其实就是C\C++的用法,用来表示一个空指针,其值为0,比如:int *intP = NULL。当一个函数参数为(void *)类型时可以传NULL,不要传nil。

NSNull

NSNull是一个继承自NSObject的类,它只有一个方法:+ (NSNull *) null; 
[NSNull null]表示一个空对象,它与nil的区别在于它是有地址的,一般用在不能使用nil的场合,比如不能向数组或字典里面添加nil,但是可以添加[NSNull null]对象表示空值。

上一篇 下一篇

猜你喜欢

热点阅读