nil、Nil、NULL、NSNull的区别数组
nil:指向一个对象的空指针url
Nil:指向一个类的空指针指针
NULL:指向其余类型(如:基本类型、C类型)的空指针对象
NSNull:一般表示集合中的空值it
举例:class
NSURL *url = nil;集合
Class class = Nil;poi
int *pointerInt = NULL;co
NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], [NSNull null], [[NSObject alloc] init], [[NSObject alloc] init], nil];block
为何上面的array里面的空对象不直接用nil?
若是用nil,就会变成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil, [[NSObject alloc] init], [[NSObject alloc] init], nil];,那么数组到第二个位置就会结束。打印[array count]的话会显示1而不是4
因此[NSNull null]一般能够做为一个数组的占位符,从而是数组的count计算准确