ios - UIViewController 没有在 Storyboard 中保持状态

标签 ios design-patterns ios5 uiviewcontroller uistoryboard

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

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

最佳答案

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

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

相关文章:

c# - 重试过程的算法

iOS 7 以编程方式为每个应用程序 VPN

iphone - Iframe 内容不在 iOs5 iPad/iPhone 滚动下呈现

design-patterns - 类中最重要的方法有术语吗?

java - 通过接口(interface)公开单例类的正确方法

ios - 在 UITableView 上选择行时委托(delegate)不起作用

iOS/swift : SecItemCopyMatching yields errSecParam (-50) status for access control of biometryCurrentSet

ios - 奇怪的 json 解码器行为

ios - 当我尝试在 prepareForSegue 中设置此变量的值时,为什么我的应用程序崩溃了?

ios - 如何从 ios 中的应用程序文件夹中按日期对 uiimages 进行排序