iOS中nil、Nil、NULL、NSNull 区别
2017-01-14 22:18
519 查看
编码的时候会时不时的遇到 nil、Nil、NULL、NSNull 中某一个,傻傻的分不清用法,现在我们来看看他们之间的区别
1.nil ---- nil 是 ObjC 对象的字面空值,对应 id 类型的对象,或者使用 @interface 声明的 ObjC 对象
如:
2.Nil ---- Nil 是 ObjC 类类型的书面空值,对应 Class 类型对象
如:
3.NULL ---- NULL 是任意的 C 指针空值
如:
4.NSNull ---- NSNull 是一个代表空值的类,是一个 ObjC 对象。实际上它只有一个单例方法:+[NSNull null],一般用于表示集合中值为空的对象。
如:
注:原文来自 -- http://www.3lian.com/edu/2015/06-09/220517.html
1.nil ---- nil 是 ObjC 对象的字面空值,对应 id 类型的对象,或者使用 @interface 声明的 ObjC 对象
如:
NSString *someString = nil; NSURL *someURL = nil; id someObject = nil; if (anotherObject == nil) // do something
2.Nil ---- Nil 是 ObjC 类类型的书面空值,对应 Class 类型对象
如:
Class someClass = Nil; Class anotherClass = [NSString class];
3.NULL ---- NULL 是任意的 C 指针空值
如:
int *pointerToInt = NULL; char *pointerToChar = NULL; struct TreeNode *rootNode = NULL;
4.NSNull ---- NSNull 是一个代表空值的类,是一个 ObjC 对象。实际上它只有一个单例方法:+[NSNull null],一般用于表示集合中值为空的对象。
如:
// 因为 nil 被用来用为集合结束的标志,所以 nil 不能存储在 Foundation 集合里。 NSArray *array = [NSArray arrayWithObjects:@"one", @"two", nil]; // 错误的使用 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:nil forKey:@"someKey"]; // 正确的使用 NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:[NSNull null] forKey:@"someKey"];
注:原文来自 -- http://www.3lian.com/edu/2015/06-09/220517.html
相关文章推荐
- iOS中nil 、NULL、 Nil 、NSNull的区别
- iOS中nil 、NULL、 Nil 、NSNull的区别
- iOS_nil、Nil、NULL、NSNull的区别
- ios 中NULL,nil, Nil, NSNull的区别
- ios nil、NULL和NSNull 的区别
- iOS学习笔记8—nil,Nil,null,NSNULL的区别与用法
- iOS 中nil,Nil,NULL,NSNull的区别
- iOS nil、Nil、NULL、NSNull的区别(null)与<null>的处理: -[NSNull length]: unrecognized selector sent to instance
- iOS下nil 、NULL、 Nil 、NSNull的区别你造吗
- iOS开发 -- Objective-c 中 nil, Nil, NULL和NSNull的区别
- IOS中nil、Null、Nil和NSNull的区别
- iOS中nil 、NULL、 Nil 、NSNull的区别
- iOS-nil、Nil、NULL和NSNull区别详细说明(去除数据请求返回的null)
- iOS中nil 、NULL、 Nil 、NSNull的区别
- iOS之nil、Nil、NULL、NSNull的区别
- iOS nil,Nil,NULL,NSNULL的区别
- iOS_nil、Nil、NULL、NSNull的区别
- iOS nil、Nil、NULL、NSNull的区别
- iOS中nil ,NULL,Nil ,NSNull的区别
- iOS JSON返回的数据有NSNull导致程序崩溃及ios nil、NULL和NSNull的区别