1

我有一个带有两个视图的标签栏控制器(底部有两个按钮以匹配)。当我在第二个视图中并按下第一个按钮时,我不想简单地隐藏第二个视图,而是完全卸载它,直到再次访问它。

我应该如何以及在何处(从视图更改过程的哪一端——在标签栏的 firstButtonPressed 方法中,在第一个视图的 ViewWillAppear 方法中,等等)这样做?

4

1 回答 1

2

这是为了节省内存,还是出于用户体验的原因?如果是第一种情况,并且您正在取消 viewDidUnload 上的非弱 IBOutlet 属性,那么您就可以开始了。每当操作系统决定它需要更多内存时,它就会开始转储不在屏幕上的视图。

如果是第二种情况,请在要丢弃的类的 viewDidDisappear 方法中执行您需要的操作(即根据需要从超级视图中删除和 nil )。

于 2012-05-30T18:17:30.347 回答