美文网首页
OC中nil、Nil、NULL、NSNull的区别

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

作者: 一叶知秋0830 | 来源:发表于2019-12-08 22:29 被阅读0次

    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]对象表示空值。

    相关文章

      网友评论

          本文标题:OC中nil、Nil、NULL、NSNull的区别

          本文链接:https://www.haomeiwen.com/subject/bctawctx.html