iOS:在viewDidDisappear中销毁子视图?

时间:2013-08-19 20:07:11

标签: ios automatic-ref-counting

我有一个UINavigationController并且UIViewController被推到了它上面。在我的viewController view中,我有两个子视图UIScrollView。我每次在scrollview的{​​{1}}方法中重新创建这些viewWillAppear,并将它们作为子视图添加到我的viewcontroller视图中。我正在使用ARC,我应该在viewController方法中销毁两个滚动视图吗?什么是更好的内存使用实践。

编辑:我做了一些调查,没有删除滚动视图并在viewDidDisappear方法中将它们设置为nil,它们没有被释放。当调用viewDidDisappear时,viewcontroller的视图会获得越来越多的子视图。正如我在评论中提到的,我从不释放我的主视图控制器。它总是停留在导航控制器的堆栈上。为什么我必须手动释放滚动视图?

1 个答案:

答案 0 :(得分:1)

可能没有必要做任何事情。如果您的UIViewController从屏幕上删除然后被释放,它将自动释放其视图层次结构(包括您添加的子视图)。检查这个的简单方法是覆盖您感兴趣的类的dealloc方法(使用添加到类中的ObjC类别方法),并记录一条消息以指示它们已被删除。 / p>