objective-C nil,Nil,NULL 和NSNull的小結


nil:指向oc中對象的空指針

Nil:指向oc中類的空指針 

NULL:指向其他類型的空指針,如一個c類型的內存指針

NSNull:在集合對象中,表示空值的對象 

 若obj為nil:

[obj message]將返回NO,而不是NSException

若obj為NSNull:

[obj message]將拋出異常NSException


 

use : 

數值類對象:NSNumber,NSValue,NSNull

基本,集合,復雜,對象

 

可用對象封裝基本數值,然后將對象放入NSArray或NSDictionary 中。

用對象封裝基本數值后,即可給其發送消息。

將一個基本類型的數據包裝成對象叫做裝箱(boxing),從對象中取出基本數據類型叫做取消裝箱(unboxing)

1> NSNumber類用來包裝基本的數據類型,如:int、char、BOOL、float..等各種有符號和無符號的基本數據類型;

2> NSMunber是NSValue的子類,NSValue可以包裝任意一個對象,可以用NSValue將struct存到NSArray和NSDictionary中。 

3> NSNull在集合中不能存放nil值,因為在NSArray和NSDictionary中nil有特殊的含義。但是在有些時候,確實需要用到這樣的空值,比如在字典中,電話簿中"Jack"關鍵字下有電話號碼、家庭住址、Email等等信息,但是現在只知道他的電話號碼,這種不知道其他信息的情況下為了消除一些歧義,有必要將它們設置為空,所以Cocoa提供了NSNull

NSNull只有一個方法:null

[dictionary setObject:[NSNull null], forKey:"Email"];

if(EmailAdress == [NSNull null])

{

  //to do something...

} 

數值類型包括:NSNumber將基本數據類型裝箱到NSArray;

                               NSValue 將結構裝箱到NSArray,

                              NSNull調用null保存到NSArray。


oc不支持自動裝箱


掌握nsnumber類的作用,實用方法。

掌握nsvalue類的作用,實用方法。

掌握nsnull類的作用,實用方法。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM