一、nil
為豐臺等地區用戶提供了全套網頁設計制作服務,及豐臺網站建設行業解決方案。主營業務為成都做網站、網站設計、豐臺網站設計,以傳統方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業、用心的態度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!我們給對象賦值時候,一般會使用object = nil 標示我向吧這個對象釋放掉:
或者對象由于某種原因,經過多次release,于是對象引用計數器為0了,系統將這塊內存釋放掉,這個時候這個對象為nil,我們稱它為“空對象”。(注意:我們這里強調的是“空對象”, 下面我們會拿他和“職位空的對象”左對比)!!
所以對于這種空對象,所有關于retain的操作都會引起程序崩潰,例如字典添加鍵值或數組添加新元素等等;
二、NSNull
NSNull和nil的區別在于,nil是一個空對象,已經完全從內存中消失了,而如果我們想表達“我們需要有這樣一個容器,但這個容器里什么也沒有”的觀念時,我們就用到NSNull,我稱它為“值為空的對象”。如果你查閱開發文檔你會發現NSNull這個類是繼承NSObject,并且只有一個“+ (NSNull *) null;”類方法。這就說明NSNull對象擁有一個有效的內存地址,所以在程序中對它的任何引用都是不會導致程序崩潰的。
三、Nil
nil和Nil在使用上是沒有嚴格限定的,也就是說凡是使用nil的地方都可以用Nil來代替,反之亦然。只不過從編程人員的規約中我們約定俗成地將nil表示一個空對象,Nil表示一個空類。參考代碼如下:
nil、Nil、NULL和NSNull的理解
四、NULL
我們知道Object-C來源于C、支持于C,當然也有別于C。而NULL就是典型C語言的語法,它表示一個空指針,參考代碼如下:
int *ponit = NULL;
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:Nil,nil,NSNULL,NULL的區別-創新互聯
網站URL:http://vcdvsql.cn/article36/ppisg.html
成都網站建設公司_創新互聯,為您提供網站營銷、手機網站建設、服務器托管、網頁設計公司、Google、定制開發
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯