平時用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 |
僅表明我的的理解。待有更加明瞭的理解,再補充。