【问题标题】:nested view controllers, where to add subview and how to manage memory嵌套视图控制器,在哪里添加子视图以及如何管理内存
【发布时间】:2010-08-05 15:59:03
【问题描述】:

我有一个由应用程序委托加载的根视图控制器和第二个(无 nib 文件)应该作为根控制器的子级加载(我想显示它的视图包含在根控制器的视图中)。 我应该在哪里以及如何做到这一点? viewDidLoad 方法适合这样的初始化吗?

- (void)viewDidLoad {   
MyViewController* pdfController = [[MyViewController alloc]init];
[self.view addSubview:pdfController.view];  
[super viewDidLoad]; }

释放这样的对象怎么样?我应该在 dealloc 或 viewDidUnload 中释放它还是两者兼而有之? viewDidUnload/dealloc 会在哪里调用?

【问题讨论】:

    标签: objective-c cocoa-touch


    【解决方案1】:

    viewDidLoad 是将子视图添加到根视图的好地方。你应该在 viewDidLoad 结束时释放它; pdfController 将超出范围(因此您将丢失对象的跟踪)并且 [UIView addSubview:] 将保留它。如果您还在对象属性中保留对 pdfController 的引用,您可能希望在该对象的 dealloc 中释放它。

    【讨论】:

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