nil,Nil,NULL和NSNull的理解

轉載地址L:http://magicalboy.com/null-value-in-objective-c/

nil

nil是Objc對象的字面空值,對應id類型的對象,或者使用@interface聲明的Objc對象。

  1.    NSString *text = nil;
  2.    id sth = nil;

Nil

Nil是Objc類類型的書面空值,對應Class類型對象。

  1.    Class someClass  = Nil;
  2.    Class strClass = [NSString class];

NULL

NULL是任意的C指針空值。

  1.    int *pointer = NULL;
  2.    char *pointChar = NULL;
  3.    struct Student *student = NULL;

NSNull

NSNull是一個代表空值的類,是一個Objc對象。實際上它只有一個單例方法,一般用於表示集合中值爲空的對象。

  1.    NSMutableDictionary *mutableDic = [NSMutableDictionary dictionary];
  2.    [mutableDic setObject:[NSNull null] forKey:@"name"];

這裏如果把NSNull換成nil是錯誤的用法.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章