nil
nil是指一个不存在的OC实例对象的指针,也就是OC实例对象的空指针
NSObject *object = nil;
NSString *str = nil;
NSURL *url = nil;
id object1 = nil;
Nil
是指OC类对象的空指针
Class Class1 = Nil;
Class Class2 = [NSURL class];
NULL
C语言指针类型的空值,也就是给除OC对象之外的指针赋空值
int *intA = NULL;
char *charC = NULL;
NSNull
集合中表示空值的对象
我们知道数组与字典中是不能存储nil的,因此如果有空值需求的话我们要用NSNull来替代nil
//错误写法:nil为数组结束标志,所以此时该数组的count=2,所以数组不能存储nil值。
NSArray *array = [[NSArray array]initWithObjects:@"1",@"2",nil,@"4", nil];
//正确写法:[NSNull null]通常可以作为数组的占位符。
NSArray *array = [[NSArray array]initWithObjects:@"1",@"2",[NSNull null],@"4", nil];
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
//错误写法,会出现编译错误。
[dict setObject:nil forKey:@"key"];
//正确写法
[dict setObject:[NSNull null] forKey:@"key"];
总结
nil
:对象指针的空值。Nil
:类指针的空值。NULL
:C指针的空值。NSNull
:集合中表示空值的对象。
本站资源均来自互联网,仅供研究学习,禁止违法使用和商用,产生法律纠纷本站概不负责!如果侵犯了您的权益请与我们联系!
转载请注明出处: 免费源码网-免费的源码资源网站 » 【iOS】nil、Nil、NULL、NSNull的区别
发表评论 取消回复