nil,Nil,NULL,NSNull區別
一般:
nil---指向對象類型的空指針
Nil---指向類類型的空指針
NULL---指向基本類型或c類型的空指針
NSNull---空對象,經常作爲佔位符使用
實際上
對象類型空指針---nil,Nil,NULL均可
類類型空指針---nil,Nil,NULL均可
基本類型---NULL可以,而nil,Nil不可,報錯
NSString *a = nil;
NSLog(@"%@",a);
NSString *str = Nil;
NSLog(@"%@",str);
NSString *str2 = NULL;
NSLog(@"%@",str2);
int b = NULL;
int *bb = NULL;
// *bb = nil;//報錯
// *bb = Nil;//和上面一樣報錯
Class class = Nil;
class = nil;
class = NULL;
NSNull使用
NSArray *array = [NSArray arrayWithObjects:[NSNull null],@"123",[NSNull null],@"456", nil];
for (NSString *content in array) {
NSLog(@"%@",content);
}
返回值
2014-12-05 09:38:33.015 IOSStudy[97922:3474037] <null>
2014-12-05 09:38:33.015 IOSStudy[97922:3474037] 123
2014-12-05 09:38:33.018 IOSStudy[97922:3474037] <null>
2014-12-05 09:38:33.018 IOSStudy[97922:3474037] 456
這部分還有需要注意的是在解析後臺傳過來的json數據的時候,如果遇到如"aaa":null,這是會被解析成NSNull的,而不是空,是空對象。