我必须释放这个变量吗?
Posted
技术标签:
【中文标题】我必须释放这个变量吗?【英文标题】:Do I have to release this variable? 【发布时间】:2011-04-05 07:04:31 【问题描述】:UIViewController *parentController;
for (UIView* next = [self superview]; next; next = next.superview)
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]])
parentController = (UIViewController*)nextResponder;
在这段代码中,我必须释放 parentController 吗? 那么,什么时候?
【问题讨论】:
【参考方案1】:由于您没有取得 parentController 对象的所有权(保留/分配/复制/新),因此您不必释放它。
【讨论】:
【参考方案2】:你没有释放它,因为你没有增加它的保留计数(new
、alloc
、retain
或 copy
)。
【讨论】:
【参考方案3】:没有。你没有取得所有权,所以也不需要释放它。
【讨论】:
你的代码的目的有点让人头疼。 您似乎正在朝着包含视图控制器的方向努力,打破了正确的 MVC 结构。使用指针到达那里通常更干净。以上是关于我必须释放这个变量吗?的主要内容,如果未能解决你的问题,请参考以下文章