程序的状态保存和恢复

王朝学院·作者佚名  2016-08-27
窄屏简体版  字體: 小  |  中  |  大  |  超大  

开启状态保存和恢复

将下列两个方法添加到AppDelegate.m文件的applicationdelegate中

- (BOOL)application:(UIApplication *)application shouldSaveApplicationState:(NSCoder *)coder

{

return YES;

}

- (BOOL)application:(UIApplication *)application shouldRestoreApplicationState:(NSCoder *)coder

{

return YES;

}

Restorationldentifier

UIKite 并没有自动存储所有关于应用状态的信息。你需要告诉UIKit你的哪些视图控制器需要参与进去。你要通过给storyboard中这些视图控制器分派一个Restoration Identifier来实现它。任何拥有Restoration ID的内容都会被保护并且恢复。

到目前为止这一步,系统只能帮你恢复到具体一个视图控制器,然后重新生成控制器里的对象

要让系统知道你需要保存哪些对象,你需要实现两个方法

- (void)encodeRestorableStateWithCoder:(NSCoder *)coder

{

[super encodeRestorableStateWithCoder:coder];

[coder encodeObject:self.doorPhoto forKey:@"doorPhoto"];

}

- (void)decodeRestorableStateWithCoder:(NSCoder *)coder

{

[super decodeRestorableStateWithCoder:coder];

self.doorPhoto = [coder decodeObjectForKey:@"doorPhoto"];

}

当在程序中按下home键的时候,就会调用encodeRestorableStateWithCoder:来保存你想要保存的对象,再下一次打开程序的时候,就会调用decodeRestorableStateWithCoder:来恢复你之前保存好的对象。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航