电竞比分网-中国电竞赛事及体育赛事平台

分享

objective空值的區(qū)分

 最初九月雪 2014-11-19

nil:指向oc中對(duì)象的空指針

Nil:指向oc中類的空指針 

NULL:指向其他類型的空指針,如一個(gè)c類型的內(nèi)存指針

NSNull:在集合對(duì)象中,表示空值的對(duì)象 

 若obj為nil:

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

若obj為NSNull:

[obj message]將拋出異常NSException


 

use : 

數(shù)值類對(duì)象:NSNumber,NSValue,NSNull

基本,集合,復(fù)雜,對(duì)象

 

可用對(duì)象封裝基本數(shù)值,然后將對(duì)象放入NSArray或NSDictionary 中。

用對(duì)象封裝基本數(shù)值后,即可給其發(fā)送消息。

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

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

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

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

NSNull只有一個(gè)方法:null

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

if(EmailAdress == [NSNull null])

{

  //to do something...

} 

數(shù)值類型包括:NSNumber將基本數(shù)據(jù)類型裝箱到NSArray;

                               NSValue 將結(jié)構(gòu)裝箱到NSArray,

                              NSNull調(diào)用null保存到NSArray。


oc不支持自動(dòng)裝箱


掌握nsnumber類的作用,實(shí)用方法。

掌握nsvalue類的作用,實(shí)用方法。

掌握nsnull類的作用,實(shí)用方法。

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多