Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...
生活随笔
收集整理的這篇文章主要介紹了
Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
平時用strong、retain、assign、weak這幾個關鍵字的時候,也沒有過多的在意,下邊就MRC、ARC模式下,每個關鍵字做一下總結。為了簡明期間,采用表格的形式進行展示。
| ? | MRC | ARC |
| strong | strong是在開始使用ARC內存管理方式的時候引入的,如果硬是要在MRC模式下使用的話,經過驗證,和在ARC模式下并沒有什么區別。 | ARC模式下,strong同MRC模式下的retain。 |
| retain | MRC、ARC兩種內存管理方式下相同。 | MRC、ARC兩種內存管理方式下相同。 |
| assign | 可以用來修飾對象類型,也可以用來修飾基本數據類型。修飾對象類型的時候,對象的引用計數不會隨著引用次數的增加而增加,也就是說被釋放之前,引用計數永遠是1。 | 只能用來修飾基本數據類型,不能用來修飾對象類型。除此之外,還用來修飾代理對象。 |
| weak | MRC模式下不能夠使用weak來修飾對象和基本數據類型。 | 相當于MRC模式下的assign |
僅代表個人的理解。待有更加明了的理解,再補充。
轉載于:https://www.cnblogs.com/zpz501/p/5209272.html
總結
以上是生活随笔為你收集整理的Objective-C之MRC、ARC模式下,属性修饰关键字strong、retain、assign、weak的区别和联系...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lammps教程:高熵合金建模之set
- 下一篇: 链表的插入、删除、排序的程序