美文网首页
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 对象字面空值


相关文章

  • NULL、nil、Nil 和NSNULL

    转:nil、Nil、NULL和NSNull区别NULL、nil、Nil这三者对于Objective-C中值是一样的...

  • IOS 处理空字符串

    一、区别: nil、Nil、NULL和[NSNull null]的区别 1.nil 当一个对象置为nil时,这个对...

  • Objective-C nil / Nil / NULL / N

    Objective-C nil / Nil / NULL / NSNull 和 BOOL / bool / Boo...

  • iOS nil、NULL、Nil 、NSNull的区别

    nil、Nil、NULL、NSNull的区别 nil:指向一个对象的空指针 Nil:指向一个类的空指针 NULL:...

  • nil、Nil、NULL、NSNULL

    nil、Nil、NULL、NSNull的区别 nil:是对objective c id 对象赋空值Nil:表示对类...

  • nil Nil NULL NSNull

    nil Nil NULL NSNull NULL是宏,是对于C语言指针使用的,表示空指针 nil是宏,是对于...

  • ios中的空值

    nil、Nil、NULL、NSNull的区别nil:指向一个对象的空指针Nil:指向一个类的空指针NULL:指向其...

  • nil、Nil、NSNull、NULL

    nil 表示空对象,每一个对象的引用计数为0时,系统会将这块内存释放掉,这时这个对象就为nil对于这种空对象所有r...

  • nil Nil NULL NSNull

    nil:指向oc中对象的空指针(对象),nil是一个指向不存在对象的指针 Nil:指向oc中类的空指针 NULL:...

  • nil/Nil/NULL/NSNull

    NULL 表示C指针为空 nil 表示指向Objective-C中对象的指针为空 Nil 表示Objective-...

网友评论

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

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