Re: [quiz] NSImage's leak
※ 引述《yllan (藍永倫)》之銘言:
: - (id) someMember {
: return [[_someMember retain] autorelease];
: }
: 其實 Objective-C 真的很簡單,和 C 語言差不多,There's no magic.
: 他寫什麼就做什麼,卻能保持不錯的彈性和效率。ObjC 2.0 開始引進了一些
: magic 了,例如 GC 和 atomic accessor... 離題自刪。
我想我大概大解了,不過還有一個問題,就是在accessor methods中放如上
的autorelease,那麼這個someMember object會被放到哪個autorelease pool呢?
是這個someMember所屬的object中的autorelease pool還是receiver的?
如果是前者的話,是否表示這個someMember得等到其所屬的object deallocate時
才會被release嗎?
突然想到,既然你說這個delay release會等到最靠近的autorelease pool
release時,所以是否可以把autorelease pool當作對autoreleased object
強制release的一個機制?
(當然如果被其他object retain住的不算)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 116.59.159.229
※ 編輯: anpig 來自: 116.59.159.229 (11/28 15:04)
※ 編輯: anpig 來自: 116.59.159.229 (11/28 15:06)
討論串 (同標題文章)