我有一个带有 2 个 Storyboard的选项卡式应用程序。在第二个 Storyboard中,我有一个恢复 ID。
我在 AppDelegate 中实现了以下内容:
-(BOOL)applicationUIApplication *)application shouldRestoreApplicationStateNSCoder *)coder
{
return YES;
}
-(BOOL)applicationUIApplication *)application shouldSaveApplicationStateNSCoder *)coder
{
return YES;
}
这在我的 SecondViewController 中:
-(void)encodeRestorableStateWithCoderNSCoder *)coder
{
[coder encodeObject:self.myTextView.text forKey"unsavedText"];
[super encodeRestorableStateWithCoder:coder];
}
-(void)decodeRestorableStateWithCoderNSCoder *)coder
{
self.myTextView.text=[coder decodeObjectForKey"unsavedText"];
[super decodeRestorableStateWithCoder:coder];
}
但是当我使用 iOS 模拟器回到主页时,停止正在运行的应用程序并重新启动,TextView 不会恢复文本,我的应用程序在第一个选项卡中启动。
Best Answer-推荐答案 strong>
您可能错过了在 View 层次结构中的其他位置分配恢复 ID。
您是否也将您的 AppDelegate 从 -application:didFinishLaunchingWithOptions: 更改为 application:willFinishLaunchingWithOptions: ?
Downloads for Apple Developers 上有一些有用的状态恢复工具。页面。
搜索 restoration 以查找将应用的状态恢复记录到控制台的调试配置文件,以及用于以人类可读格式转储状态恢复数据的 restoreArchiveTool。
关于ios - 恢复 IOS 8 不起作用,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/26488389/
|