oc內存模型
a指針、b內存地址、c內存地址裏面的值、、、、、a在棧中,b在堆中
a指向b ,b中保存着c
引用計數是針對b而言的,當b的引用計數爲零時b就會被系統收回
property中 strong weak assign copy 均是在被賦值時起作用的
strong會讓b引用計數+1
weak不會讓引用計數+1
copy會重新開闢一塊內存,並copy值
assign不會讓引用計數+1
assign和weak區別
weak所指向的內存在其引用計數爲零被收回時,weak修飾的指針爲自動指向nil
而assign 不會指向nil
assign 一般用於基本數據類型,因爲基本數據類型存在棧中,棧中的內存管理是系統自己負責的,所以不會造成野指針
weak一般用於防止循環引用地方