2011-04-05 91 views
0
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对象的所有权(保留/ alloc/copy/new),所以您不必释放它。

0

不,您没有取得所有权,所以也不需要发布它。

+0

虽然你的代码的目的是有点头部划痕。 – 2011-04-05 07:09:16

+0

你为什么认为这是? – 2011-04-05 07:13:08

+0

你似乎正在朝着一个包含视图控制器打破正确的MVC结构工作。使用指针到达那里通常更清洁。 – 2011-04-05 09:09:08

1

你没有发布它,因为你没有增加它的保留数(通过new,alloc,retaincopy)。

+1

或“保留”.... – 2011-04-05 09:07:04

相关问题