nil依鸥、Nil、NULL悼沈、NSNull的區(qū)別
nil:指向一個(gè)對(duì)象的空指針
Nil:指向一個(gè)類的空指針
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里面的空對(duì)象不直接用nil?
如果用nil絮供,就會(huì)變成NSArray *array = [NSArray arrayWithObjects:[[NSObject alloc] init], nil,? [[NSObject alloc] init], [[NSObject alloc] init], nil];衣吠,那么數(shù)組到第二個(gè)位置就會(huì)結(jié)束。打印[array count]的話會(huì)顯示1而不是4
所以[NSNull null]通橙腊校可以作為一個(gè)數(shù)組的占位符缚俏,從而是數(shù)組的count計(jì)算準(zhǔn)確