IOS注意之nil,Nil,NULL,NSNull


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的,而不是空,是空對象。



發佈了63 篇原創文章 · 獲贊 1 · 訪問量 24萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章