中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Nil,nil,NSNULL,NULL的區別

發布時間:2020-07-18 09:13:02 來源:網絡 閱讀:522 作者:Im劉亞芳 欄目:開發技術

一、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;



向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

易门县| 抚州市| 明光市| 广元市| 皋兰县| 绵阳市| 贵南县| 萨嘎县| 中宁县| 大庆市| 佳木斯市| 许昌市| 嘉峪关市| 萍乡市| 永康市| 横峰县| 大足县| 柳州市| 邵阳县| 桃江县| 资中县| 垦利县| 连云港市| 怀远县| 松江区| 乾安县| 搜索| 咸阳市| 枣庄市| 祁连县| 温州市| 静宁县| 遂川县| 鲁甸县| 长阳| 新余市| 都江堰市| 密山市| 洪泽县| 苍山县| 南溪县|