Re: [問題] 何時需要release
※ 引述《uranusjr (←這人是超級笨蛋)》之銘言:
: 基本上是 (另外還有 new 和 mutableCopy, 剩下的我也沒碰過, 文件上應該會寫)
: 至於什麼時候會被清除...
: 任何物件在被創造時都會有 retain count = 1
: 但如果創造途徑不是上面那四種, 物件會在創造同時被放入 autorelease pool
: 當程序清理 pool 的時候(每執行週期一次), 它們所佔用的記憶體就會被清除
: 基本上這代表這種物件 (暫時物件, temporary objects) 可以活過一個 method
: 至少我是這樣認為, 我沒有正式學過計算機理論不太確定XD
感謝回應
所以說
NSNumber *num1 = [NSNumber numberWithInteger: 100]; 時
numberWithInteger中會執行alloc(retain count=1)、init其值、並self autorelease
然後再pool drain時 這個物件才會retain count-1 然後即被dealloc
我這樣的理解對嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.70.65.74
※ 編輯: leondemon 來自: 203.70.65.74 (09/04 19:57)
討論串 (同標題文章)