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

当用户按下后退导航按钮,然后按下该按钮返回到“B”时,B已被完全重置。我知道这是情节提要,它重新创建了ViewControllerB。如何阻止这种情况发生?我正在寻找正确的设计模式来解决此问题。

最佳答案

只是为了澄清为什么会这样。按下后退按钮后,viewController'B'就会从堆栈中推出,从而从内存中删除。为了避免这种情况,您将必须在AppDelegate中创建一个指向viewController'B'的强指针属性。然后在viewWillAppear中,检查此属性是否为null,以及是否正常设置其值。如果不是,那么您就知道已经准备好viewController了,可以使用它。

关于ios - UIViewController不保持 Storyboard 中的状态,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10510976/

10-09 09:14