我有一个UINavigationController
并且UIViewController
被推到了它上面。在我的viewController
view
中,我有两个子视图UIScrollView
。我每次在scrollview
的{{1}}方法中重新创建这些viewWillAppear
,并将它们作为子视图添加到我的viewcontroller视图中。我正在使用ARC,我应该在viewController
方法中销毁两个滚动视图吗?什么是更好的内存使用实践。
viewDidDisappear
方法中将它们设置为nil,它们没有被释放。当调用viewDidDisappear
时,viewcontroller的视图会获得越来越多的子视图。正如我在评论中提到的,我从不释放我的主视图控制器。它总是停留在导航控制器的堆栈上。为什么我必须手动释放滚动视图?
答案 0 :(得分:1)
可能没有必要做任何事情。如果您的UIViewController从屏幕上删除然后被释放,它将自动释放其视图层次结构(包括您添加的子视图)。检查这个的简单方法是覆盖您感兴趣的类的dealloc
方法(使用添加到类中的ObjC类别方法),并记录一条消息以指示它们已被删除。 / p>