2010-02-11 173 views
1

考虑一类的初始化剂以下代码:内存管理

UIViewController* blankViewController=[[DisplayViewController alloc] 
        initWithNibName:@"Blank" bundle:nil]; 
self.nextView=blankViewController.view; 

nextView是使用保留的性质。请注意,blankViewController未发布。如果它被释放,这会导致崩溃,因为视图似乎没有保留对viewController的引用。只要保留对视图的引用,我就希望视图控制器坚持到位。解决这种内存泄漏的最好方法是什么?

回答

2

您需要将blankViewController存储为self的ivar,或者将其作为(静态)全局变量。

然后,当self被重新分配时,您可以拨打[blankViewController release]

您需要这样做,因为没有其他(记录)的方式从视图中获取视图控制器。