iOS strong,copy,retain,weak,assign的區別,以及各自的用法

來源:互聯網
上載者:User

標籤:ios

1:ARC環境下,strong代替retain.weak代替assign
2:weak的作用:在ARC環境下,所有指向這個對象的weak指標都將被置為nil。這個T特性很有用,相信很多開發人員都被指標指向已釋放的對象所造成的EXC_BAD_ACCESS困擾過,使用ARC以後,不論是strong還是weak類型的指標,都不會再指向一個已經銷毀的對象,從根本上解決了意外釋放導致的crash。3:assign的作用:簡單賦值,不改變引用計數,對基礎資料類型 (例如NSInteger,CGFloat)和C資料類型(int, float, double, char, 等) 適用單一資料型別
4:copy的作用:建立一個索引計數為1 的對象,然後釋放舊對象
5:strong的作用:在ARC環境下,只要某一對象被一個strong指標指向,該對象就不會被銷毀。如果對象沒有被任何strong指標指向,那麼就會被銷毀。在預設情況下,所有的執行個體變數和局部變數都是strong類型的。可以說strong類型的指標在行為上跟非ARC下得retain是比較相似的
6:retain的作用:在非ARC時代,你需要自己retain一個想要保持的對象,ARC環境下就不需要了。現在唯一要做的就是用一個指標指向這個對象,只要指標沒有被重設為空白,對象就會一直在堆上。當指標指向新值的時候,原來的對象就會被release一次。這對執行個體變數,sunthesize的變數或者是局部變數都是實用的。

iOS strong,copy,retain,weak,assign的區別,以及各自的用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.