码迷,mamicode.com
首页 > 其他好文 > 详细

?Object-C nil NULL 和 NSNull

时间:2015-09-18 19:01:59      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

nil 用来给对象赋值

NULL 则给任何指针赋值    //NULL 和 nil 不能互换,nil 用于类指针赋值

NSNull 则用于集合操作


一般情况下最好使用用 nil (空对象值,有意义) [ nil  任意方法],不会导致崩溃

NULL 是一个通用指针(泛型指针,指向空指针)

NSNull,NULL 和 nil 在本质上应该是一样的,NULL 和 nil 本质就是 0

Objective-c中 NSArray 和 NSDictionary 中的 nil 表示列表结束,所以不能在集合中放入 nil 值。如果定义了一个NSArray 为其分配了内存,又想设置其中的内容为空,则可以用 [NSNull null ] 初始化 NSArray

Object-C 的集合对象,如 NSArray、NSDictionary、NSSet 等,都有可能包含 NSNull 对象,如果集合中的对象为 NSNull,则会引起程序崩溃。

 

//判断对象不空

if(object) {}

//判断对象为空

if(object == nil) {}

//数组初始化,空值结束

NSArray *string=[[NSArray alloc] initWithObjects:@"1",@"2",@"3",nil];

//判断数组元素是否为空

if([NSArray objectAtIndex:i] == [NSNull null]){}

//判断字典对象的元素是否为空

if([NSDictionary objectForKey:@"keyName"] == [NSNull null]){}


?Object-C nil NULL 和 NSNull

标签:

原文地址:http://my.oschina.net/jack088/blog/508205

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!