UIViewController
在 iOS 6 中,Apple 为相关类添加了状态恢复。这允许应用程序在终止时保存状态,并在用户恢复应用程序时恢复状态。
一切似乎都很好,但是我遇到了一个不想适应模式的奇怪场景。
假设我们有两个视图控制器,ViewControllerOne
并且ViewControllerTwo
,它们都存储了一些成功恢复的任意状态。现在让我们假设它ViewControllerOne
有一个delegate
属性,那ViewControllerTwo
就是委托(这是模态视图控制器的常见模式)。谁负责恢复这种关系?它应该如何存储/恢复?
在我的特殊情况下,不涉及情节提要,通过 restorationClass
属性在代码中进行恢复。我的第一个直觉是在 restoreClass 中创建视图控制器时尝试恢复关系,但是由于restorationClass
不知道其他现有控制器,它无法完全恢复这种关系。
或者,如果是声明delegate
属性的视图控制器,应该恢复关系,那么现在在其他类中恢复的控制器实例如何呢?
简而言之,这似乎是一个记录不充分的场景,我希望有人能对此有所了解。