美文网首页
NSNull、NULL、Nil、nil

NSNull、NULL、Nil、nil

作者: 伊路顺峰 | 来源:发表于2018-03-23 07:55 被阅读0次

    NSNull

    在OC中继承于NSObject,有一个类方法:[NSNUll null],表示一个空对象。


    NULL

    NULL一般用来表示C指针为空,本质是(void*)0。

    使用惯例:int *a = NULL;

    char *c = NULL;


    nil

    表示指向OC对象的指针为空,

    UILabel * label = nil。

    do something...

    还有,我们想要把一个对象回收的时候使用nil:

    label = nil;


    Nil

    与nil一致,一般用在表示OC类中 Class类为空的情况:

    Class class = Nil;


    NSNull *myNull = [NSNull null];

    NSArray*arr = [NSArrayarrayWithObjects:@"abc", myNull,@"123",nil];     //正确

    NSDictionary*dict = [[NSDictionaryalloc]init];

    [dictsetValue:nilforKey:@"haha"];   //会崩溃

    总结

    |标志      | 值                  |   含义   

    |NSNull  | [NSNull null]  |  表示空值的OC对象

    |NULL    | (void *) 0        | c 指针字面空值

    | Nil        | Class 0           | OC 类的字面空值

    | nil         | (id) 0               | OC 对象字面空值


    相关文章

      网友评论

          本文标题:NSNull、NULL、Nil、nil

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