​Object-C nil NULL 和 NSNull

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)