看板 [ MacDev ]
討論串[問題] 記憶體管理:當兩物件互相參考時...
共 3 篇文章
首頁
上一頁
1
下一頁
尾頁

推噓0(0推 0噓 7→)留言7則,0人參與, 最新作者leondemon (狗狗)時間14年前 (2010/05/02 20:56), 編輯資訊
1
0
0
內容預覽:
在不使用GC前提下. 當AB兩物件互相參考時 會互相retain對方. 而造成無法在不使用的時候順利release 而造成memory leak. 例如 A和B都是相同類別. 它都含有一個instance variable叫做list (為NSMutableArray). 而A的list中含有B B
(還有48個字)

推噓0(0推 0噓 5→)留言5則,0人參與, 最新作者atst2 (atst2)時間14年前 (2010/05/03 11:33), 編輯資訊
1
0
0
內容預覽:
B* b = [B new];//count 1. A* a = [A new];//count 1. [A setB:b];// b count 2. [B setA:a];// a count 2. C* c = [C new];. [c setA:a];// a count 3. [c rel
(還有14個字)

推噓0(0推 0噓 0→)留言0則,0人參與, 最新作者leondemon (狗狗)時間14年前 (2010/05/03 20:29), 編輯資訊
0
0
0
內容預覽:
retainCount的部份 是我的疏失算錯了 (謝謝指正). 但是您所說的retain/releae的規則問題 跟我提的的確無關. 當一個物件有instance variable時 若要retain這個property. 則勢必只能在dealloc時去release它 這時就會發生我所說的問題.
(還有117個字)
首頁
上一頁
1
下一頁
尾頁