我是 iOS 开发的新手,我正在尝试了解 State Restoration API。没有在我的应用程序中实现 API,当应用程序退出并恢复时,它会将应用程序的状态恢复到用户退出前的状态。如果这不是状态恢复,那么这是什么机制?它与 State Restoration 有何不同?当默认机制似乎可以满足我的需要时,我为什么要实现状态恢复。
我确定我只是不理解某些东西,但我不知道它是什么。
最佳答案
如果您打开多任务托盘并强制退出您的应用程序,如果您没有实现任何恢复状态的方法,该应用程序将启动并通过 applicationDidFinishLaunching
正常运行其 UIWindow 层次结构。状态恢复只是提供了一种简单的方法来归档符合 NSCoding 的对象,所以如果你决定让你的 View 层次结构兼容,你可以传入你的导航堆栈,例如。然后,当启动时调用适当的方法时,如果应用程序没有退出暂停状态而是冷启动,它将使用这些存档对象重新填充层次结构。
虽然它不只是实现几个方法,但没有一个状态恢复是免费为您处理的。我只是相信它会处理存档发生的位置以及文件名是什么。由您决定归档什么,以及在取消归档时如何处理这些对象。
关于iOS 状态恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17533678/