我必须释放这个变量吗?
问题描述:
UIViewController *parentController;
for (UIView* next = [self superview]; next; next = next.superview) {
UIResponder* nextResponder = [next nextResponder];
if ([nextResponder isKindOfClass:[UIViewController class]]) {
parentController = (UIViewController*)nextResponder;
}
}
在这段代码中,我必须发布parentController吗? 那么,什么时候?我必须释放这个变量吗?
答
因为您没有获取parentController对象的所有权(保留/ alloc/copy/new),所以您不必释放它。
答
不,您没有取得所有权,所以也不需要发布它。
答
你没有发布它,因为你没有增加它的保留数(通过new
,alloc
,retain
或copy
)。
+1
或“保留”.... – 2011-04-05 09:07:04
虽然你的代码的目的是有点头部划痕。 – 2011-04-05 07:09:16
你为什么认为这是? – 2011-04-05 07:13:08
你似乎正在朝着一个包含视图控制器打破正确的MVC结构工作。使用指针到达那里通常更清洁。 – 2011-04-05 09:09:08