iOS之nil、Nil、NULL、NSNull的区别
2014-09-09 14:29
525 查看
nil、Nil、NULL、NSNull的区别
nil:指向一个对象的空指针
Nil:指向一个类的空指针
NULL:指向其他类型(如:基本类型、C类型)的空指针
NSNull:通常表示集合中的空值
举例:
NSURL *url = nil;
Class class = Nil;
int *pointerInt = NULL;
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];
为什么上面的array里面的空对象不直接用nil?
如果用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil, [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束(以nil为数组的结束符)。打印[array count]的话会显示1而不是4
所以[NSNull null]通常可以作为一个数组的占位符,从而是数组的count计算准确
nil:指向一个对象的空指针
Nil:指向一个类的空指针
NULL:指向其他类型(如:基本类型、C类型)的空指针
NSNull:通常表示集合中的空值
举例:
NSURL *url = nil;
Class class = Nil;
int *pointerInt = NULL;
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];
为什么上面的array里面的空对象不直接用nil?
如果用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil, [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束(以nil为数组的结束符)。打印[array count]的话会显示1而不是4
所以[NSNull null]通常可以作为一个数组的占位符,从而是数组的count计算准确
相关文章推荐
- ios学习笔记:关于nil和 null和NSNull的区别及相关问题
- ios 中NULL,nil, Nil, NSNull的区别
- iOS_nil、Nil、NULL、NSNull的区别
- iOS中nil ,NULL,Nil ,NSNull的区别
- iOS中nil 、NULL、 Nil 、NSNull的区别
- iOS学习笔记8—nil,Nil,null,NSNULL的区别与用法
- iOS 中nil,Nil,NULL,NSNull的区别
- iOS --- nil、Nil、NULL、NSNull的区别
- 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和NSNull 的区别
- iOS之nil, Nil, NULL,null和NSNull的区别
- iOS nil、Nil、NULL、NSNull的区别(null)与<null>的处理: -[NSNull length]: unrecognized selector sent to instance
- iOS_nil、Nil、NULL、NSNull的区别
- iOS nil、Nil、NULL、NSNull的区别
- iOS nil,Nil,NULL,NSNULL的区别
- iOS JSON返回的数据有NSNull导致程序崩溃及ios nil、NULL和NSNull的区别