Objective-C之MRC、ARC模式下,屬性修飾關鍵字strong、retain、assign、weak的區別和聯繫

  平時用strong、retain、assign、weak這幾個關鍵字的時候,也沒有過多的在乎,下邊就MRC、ARC模式下,每一個關鍵字作一下總結。爲了簡明期間,採用表格的形式進行展現。spa

 

MRC代理

ARC對象

strong內存

strong是在開始使用ARC內存管理方式的時候引入的,若是硬是要在MRC模式下使用的話,通過驗證,和在ARC模式下並無什麼區別。ci

ARC模式下,strong同MRC模式下的retain。內存管理

retaintable

MRC、ARC兩種內存管理方式下相同。數據類型

MRC、ARC兩種內存管理方式下相同。引用

assign總結

能夠用來修飾對象類型,也能夠用來修飾基本數據類型。修飾對象類型的時候,對象的引用計數不會隨着引用次數的增長而增長,也就是說被釋放以前,引用計數永遠是1。

只能用來修飾基本數據類型,不能用來修飾對象類型。除此以外,還用來修飾代理對象。

weak

MRC模式下不可以使用weak來修飾對象和基本數據類型。

至關於MRC模式下的assign

  僅表明我的的理解。待有更加明瞭的理解,再補充。

相關文章
相關標籤/搜索