【问题标题】:Memory management of a view controller in Objective-cObjective-c 中视图控制器的内存管理
【发布时间】:2010-02-11 04:52:26
【问题描述】:

在类的初始化器中考虑以下代码:

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

nextView 是使用保留的属性。请注意,blankViewController 未发布。如果它被释放,这将导致崩溃,因为视图似乎没有保留对viewController 的引用。只要保留对视图的引用,我希望视图控制器一直存在。解决此内存泄漏的最佳方法是什么?

【问题讨论】:

    标签: objective-c


    【解决方案1】:

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

    然后,当self 被释放时,你调用[blankViewController release]

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      相关资源
      最近更新 更多