我已经使用包含两个视图的故事板建立了一个非常简单的项目,如下所示:http: //i.stack.imgur.com/iRx21.png。导航可以通过在自定义表格视图中选择一个单元格或点击标有“<<”的后退按钮来完成。一切正常,除了以下内容:
当我在视图之间切换时,每次都会发生实例化。分析显示越来越多的视图对象。我想只保留每个视图中的一个,并且实例化应该只发生一次。我究竟做错了什么?(我正在使用 ARC。)
提前致谢!
我已经使用包含两个视图的故事板建立了一个非常简单的项目,如下所示:http: //i.stack.imgur.com/iRx21.png。导航可以通过在自定义表格视图中选择一个单元格或点击标有“<<”的后退按钮来完成。一切正常,除了以下内容:
当我在视图之间切换时,每次都会发生实例化。分析显示越来越多的视图对象。我想只保留每个视图中的一个,并且实例化应该只发生一次。我究竟做错了什么?(我正在使用 ARC。)
提前致谢!
您不应将后退按钮链接到父视图控制器。这就是导致新实例化的原因。
方法是将表格视图嵌入UINavigationController
(在 IB 中,选择Editor -> Imbed In -> Navigation Controller
。然后将您的 segue 更改为Push
segue。您当然可以隐藏导航栏等以使事情看起来完全符合您的喜好。然后,链接后退按钮在处理程序中使用和处理控制器IBAction
做一个简单的
[self.navigationController popViewControllerAnimated:YES];
这将是您正在做的事情的适当逻辑。当然,您也可以模态地推送 web 视图,然后处理按钮单击
[self dismissModalViewControllerAnimated:YES];