我有一个使用导航控制器的应用。视图显示从牌组中挑选一张荒芜牌的结果。选择卡的逻辑以及使用的选项在每个视图的OnCreate中确定。
在浏览完视图后,我回到根视图。现在,当我回到vues时,显示相同的信息并且没有调用oncreate。看起来当我回到根视图时,从内存中弹出的vues没有被释放,所以它使用的是同一个对象。这是它的假设是如何工作,或者我做错了什么,所以popToRootViewController没有释放使用的视图?
我正在使用以下代码转到下一个视图
if (mGet == nil) {
mGet = [[cGet alloc] initWithNibName:@"cGet" bundle:[NSBundle mainBundle]];
}
答案 0 :(得分:0)
您可以使用-viewDidLoad
在实例化所有视图对象时执行视图控制器的一次性设置。就在viewController呈现其视图之前,执行-viewWillAppear:
。就在viewController的视图消失之前,-viewWillDisappear:
被执行。因此,当您需要响应显示其视图的viewController或屏幕外时,请在视图控制器中覆盖-viewWillAppear:
和-viewWillDisappear:
。
查看Apple documentation for UIViewController了解这些详细信息。