zoukankan      html  css  js  c++  java
  • 程序的状态保存和恢复

    开启状态保存和恢复
    将下列两个方法添加到AppDelegate.m文件的application delegate中
    - (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:来恢复你之前保存好的对象。 

  • 相关阅读:
    android基本架构
    c#编辑框只接受数字
    listbox数据源绑定问题
    QQ在线客服代码
    用VB生成DLL封装ASP代码例子
    C#,关于DataGridView的一些方法
    转:ASP.NET中引用dll“找不到指定模块"的完美解决办法
    编译asp.net文件为dll文件
    好看的表格样式
    网站IIS日志解读
  • 原文地址:https://www.cnblogs.com/adamleung/p/3512893.html
Copyright © 2011-2022 走看看