Re: [問題] 記憶體管理:當兩物件互相參考時...

看板MacDev作者 (狗狗)時間14年前 (2010/05/03 20:29), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)

05/03 17:09,
一樣的,原po用NSMutableArray存物件,一定會有retain的動作
05/03 17:09

05/03 17:10,
所以A物件的retainCount是3,而非原po說的2.
05/03 17:10

05/03 17:11,
除非原po將A物件指定給C的時候,沒有遵照retain/release的
05/03 17:11

05/03 17:12,
規則,做擁有權的管理與轉移,否則根本不應出現他所想問的問題
05/03 17:12
retainCount的部份 是我的疏失算錯了 (謝謝指正) 但是您所說的retain/releae的規則問題 跟我提的的確無關 當一個物件有instance variable時 若要retain這個property 則勢必只能在dealloc時去release它 這時就會發生我所說的問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.77.52.127 後來我再次算算 我發現我沒有算錯 最後A B兩物件 的確retainCount只剩下1 因為當初創造A物件的物件已經release了A物件 而此時A物件只有被B物件給參考 因此A的retainCount為1 反之亦然 B物件只剩下被A物件參考 retainCount亦為1 (差點就被唬過去 XD) ※ 編輯: leondemon 來自: 203.77.52.127 (05/03 20:40)
文章代碼(AID): #1Bti6O_j (MacDev)
文章代碼(AID): #1Bti6O_j (MacDev)