首页 > 其他 > 详细

学习笔记-nil NULL NSNull Nil的区别

时间:2015-10-14 10:19:00      阅读:301      评论:0      收藏:0      [点我收藏+]

nil--表示实例对象为空  例如  NSString * string = nil;
    
                                      NSArray * array = nil;    我们对于nil的调用 不会产生crash或者异常。例如,一个数组release了,但是没有nil,调用它或直接crash的,但是nil掉的话,就不会crash。

NULL --(只是一个值)可以用在c语言的各种指针上   char * aa = NULL;
    
                                                  int mm = NULL;

Nil --表示一个空类。 Class rootViewController = Nil;

NSNull -- 它是一个单例类,.h里面 + (NSNull *)null; 它定义了一个单例类对象用来表示集合对象里面的空值。例如我的目的是 一个字典里面包含两个键值,最后的键值的值为空。

                                                                                                                   1. NSNumber * num = [NSNumber numberWithInt:1];
    
                                                                                                                   NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",nil,@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                         1 = 1;
                                                                                                                                                                                                                                                                                                 }

                                                                                                                   2. NSNumber * num = [NSNumber numberWithInt:1];
  
                                                                                                                   NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",NULL,@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                         1 = 1;
                                                                                                                                                                                                                                                                                                 }

                                                                                                                   3. NSNumber * num = [NSNumber numberWithInt:1];
  
                                                                                                                   NSDictionary * dic = [NSDictionary dictionaryWithObjectsAndKeys:num,@"1",[NSNull null],@"2", nil];打印dic  只剩下一个键值,{
                                                                                                                                                                                                                                                                                       1 = 1;  

                                                                                                                                                                                                                                                                                       2 = "<null>";
                                                                                                                                                                                                                                                                                                 }

实例说明   要想保证两个键值的要求,只有[NSNull null] 可以做到,这就是[NSNull null]与nil   NULL的区别。

 

学习笔记-nil NULL NSNull Nil的区别

原文:http://www.cnblogs.com/luningning0901/p/4876542.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!