假设我有一个应用程序,它基本上存在一个带有视图的 tabbarcontroller。其中一个视图有一个按钮,它显示了一个模态视图控制器。此视图控制器的目的是输入一些数据,例如名称,当按下开始时,它会开始录制,因此它还保留对时间的引用并显示录制时间的总量。
(点击开始按钮后,按钮变为停止按钮)
在录制过程中,用户可以单击关闭按钮,该按钮将关闭视图控制器(保存名称和录制时间等变量),应用程序将返回其带有视图的标签栏控制器。当用户在录制时再次按下按钮(显示模态视图控制器)时,它必须显示具有先前输入的数据的视图控制器(名称,录制时间总量)。
因此,在以下代码运行后,这些数据必须保持活动状态:
- (IBAction)close:(id)sender {
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
上面的代码将关闭视图控制器,但也会破坏该视图控制器中的变量。在关闭视图控制器后保持输入的变量的最佳方法是什么?
tabbarcontroller 的视图是否应该对这些数据负责?或者我应该保留对我的模态视图控制器的引用并使其在后台保持活动状态?我将如何在代码中做到这一点?
最后,当用户通过单击模态视图控制器中的停止按钮并按下关闭按钮来停止录制时,这个视图当然应该被销毁以保留内存。