<listing id="jthbp"><ins id="jthbp"><dl id="jthbp"></dl></ins></listing>
<progress id="jthbp"></progress>
<progress id="jthbp"><var id="jthbp"></var></progress>
<listing id="jthbp"><var id="jthbp"><i id="jthbp"></i></var></listing>
<listing id="jthbp"></listing>
<progress id="jthbp"></progress>
<listing id="jthbp"><cite id="jthbp"></cite></listing>
<thead id="jthbp"><cite id="jthbp"><ruby id="jthbp"></ruby></cite></thead>
APP開發平臺 > Blog > nil、Nil、NULL和NSNull介紹

我們來分別介紹一下nil、Nil、NULL和NSNull這四種類型:

一、nil

我們給對象賦值時一般會使用object = nil,表示我想把這個對象釋放掉;

或者對象由于某種原因,經過多次release,于是對象引用計數器為0了,系統將這塊內存釋放掉,這個時候這個對象為nil,我稱它為“空對象”。(注意:我這里強調的是“空對象”,下面我會拿它和“值為空的對象”作對比?。。。?/p>

所以對于這種空對象,所有關于retain的操作都會引起程序崩潰,例如字典添加鍵值或數組添加新原素等,具體可參考如下代碼:

二、NSNull

NSNull和nil的區別在于,nil是一個空對象,已經完全從內存中消失了,而如果我們想表達“我們需要有這樣一個容器,但這個容器里什么也沒有”的觀念時,我們就用到NSNull,我稱它為“值為空的對象”。如果你查閱開發文檔你會發現NSNull這個類是繼承NSObject,并且只有一個“+ (NSNull *) null;”類方法。這就說明NSNull對象擁有一個有效的內存地址,所以在程序中對它的任何引用都是不會導致程序崩潰的。參考代碼如下:

三、Nil

nil和Nil在使用上是沒有嚴格限定的,也就是說凡是使用nil的地方都可以用Nil來代替,反之亦然。只不過從編程人員的規約中我們約定俗成地將nil表示一個空對象,Nil表示一個空類。參考代碼如下:

四、NULL

我們知道Object-C來源于C、支持于C,當然也有別于C。而NULL就是典型C語言的語法,它表示一個空指針。


2022-07-28 來源:APICloud

nil Nil NULL NSNull

高效的App定制平臺,標準化、便宜、快!

提交APP定制開發需求
菁草免费视频在线观看,菁青草无码免费视频在线免,精彩视频一区二区,精品 国产 99,精品 国产 日韩