1

我有一个 iOS5 故事板应用程序,当在初始视图控制器“A”中按下特定按钮时,我正在使用它将视图控制器“B”推送到导航堆栈上。按下按钮“B”后,会加载一些从 Web 服务中提取的数据。

当用户点击返回导航按钮然后按下按钮返回到'B'时,B已经完全重置。我知道这是重新创建 ViewController B 的故事板。我该如何阻止这种情况发生?我正在寻找正确的设计模式来解决这个问题。

4

1 回答 1

3

只是为了澄清为什么会发生这种情况。一旦你点击后退按钮,viewController 'B' 就会被推离堆栈,从而从内存中删除。为了避免这种情况,您必须在 AppDelegate 中创建指向 viewController 'B' 的强指针属性。然后在 viewWillAppear 中,检查该属性是否为空,如果是,则正常设置其值。如果不是,那么您知道您已经准备好 viewController,并且您可以使用它。

于 2012-05-09T08:01:18.160 回答