作者leondemon (狗狗)
看板MacDev
标题Re: [问题] 何时需要release
时间Fri Sep 4 19:21:55 2009
※ 引述《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)