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

nil/Nil/NULL/NSNull

作者: 小凡凡520 | 来源:发表于2018-08-05 11:08 被阅读1次
NULL

表示C指针为空

charchar *string = NULL;  
nil

表示指向Objective-C中对象的指针为空

NSString *string = nil;  
id anyObject = nil;
Nil

表示Objective-C类(Class)类型的变量值为空

Class anyClass = Nil;  
NSNull

当NSArray里遇到nil时,就说明这个数组对象的元素截止了,即NSArray只关注nil之前的对象,nil之后的对象会被抛弃。比如下面的写法:

NSArray *arr = [NSArray arrayWithObjects:@"wang",@"zz",nil,@"foogry"];
总结

从前面的介绍可以看出,不管是NULL、nil还是Nil,它们本质上都是一样的,都是(void *)0,只是写法不同。这样做的意义是为了区分不同的数据类型,比如你一看到用到了NULL就知道这是个C指针,看到nil就知道这是个Objective-C对象,看到Nil就知道这是个Class类型的数据

注意 NULL是C指针指向的值为空;nil是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-...

网友评论

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

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