nil偏形、Nil、NULL觉鼻、NSNull的區(qū)別
nil:是對objective c id 對象賦空值
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];仇矾,那么數(shù)組到第二個位置就會結(jié)束庸蔼。打印[array count]的話會顯示1而不是4
所以[NSNull null]通常可以作為一個數(shù)組的占位符贮匕,從而是數(shù)組的count計算準確