作者Gsus (肉元,吉米,助教)
看板MacDev
标题[问题] 什麽时候该retain呢
时间Thu Oct 14 17:44:30 2010
虽然说这似乎是很common的问题
但是我还是觉得应该问一下:
如果物件A在传someObject给物件B (ex: initWithSomething:(id)someObject)
"通常"我们会在物件B中retain someObject
但是如果是在以下状况下,不知道是否也是一样会要retain呢?
(以下状况someObject都是一个local ivar)
1. 在同一物件中,methodA call [self methodBWithSomeObject:someObject];
methodB中需要retain someObject吗?
2. 在同一/不同物件中, 用
[xxx performSelector:@selector(methodB) withObject:someObject];
methodB中需要retain someObject吗?
3. 传someObject给某个class method, class method中需要retain someObject吗?
4. IBAction, 有时候会把sender也传过来, 这种情况下也要retain sender吗?
像4. 好像很少有人这样写, 看stanford的course似乎也没这样做
现在想想有点混乱了,什麽时候该retain什麽时候不用....QQ
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.136.161.134
※ 编辑: Gsus 来自: 114.136.161.134 (10/14 17:47)
1F:推 stuiroov:不是很看得懂第三行和第四行的因果关系Orz 10/14 18:29
2F:推 aecho:千万不要造成retain cycle... 10/14 21:10