iOS应用状态保存和恢复
来源:互联网 发布:网络棋牌平台排名2017 编辑:程序博客网 时间:2024/05/24 01:17
应用场景:
当程序进入后台时候,把用户当前查看的页面层级保存起来,如果应用停止运行,那么用户在下次打开应用的时候,可以按照之前保存的状态恢复现场,让用户看起来仿佛从来没有关闭过一样。
实现步骤:
1.首先在AppDelegate中实现如下方法:
- (BOOL)application:(UIApplication )application shouldRestoreApplicationState:(NSCoder )coder
{
return YES; //允许恢复应用状态
}
- (BOOL)application:(UIApplication )application shouldSaveApplicationState:(NSCoder )coder
{
return YES; //允许存储应用状态
}
2.然后对需要状态保存的控制器和view设置Restoration ID
1)xib或者sb中添加Restoration ID (注意:需要对控制器所在链路上的所有控制器设置Restoration ID,可随意设置)
2)纯代码添加Restoration ID
注意点:
遵守UIViewControllerRestoration协议
并实现代理相关方法:
代理方法的作用:返回重新打开应用时看到的控制器,我们可以对这个控制器进行相关设置,并且执行这个方法会重新执行控制器的加载。
3.存储额外的与viewController相关的信息
在对应的控制器中实现如下方法:
4.存储更多与User Interface无关的信息
在AppDelegate中实现如下方法:
一点思考:
使用场景:原则上任何地方都可以使用,但是每个控制器都添加的话比较麻烦,所以建议可以选择一些有用户输入或者用户设置等用户操作的页面添加,避免用户重复输入。
- iOS应用状态保存和恢复
- iOS 应用状态恢复
- iOS应用状态恢复
- iOS 应用状态恢复
- iOS 应用状态恢复
- 保存和恢复应用程序状态
- 状态数据保存和恢复
- IOS 6 UI状态保存与恢复
- IOS 6 UI状态保存与恢复
- 保存和恢复activity的状态数据
- 保存和恢复activity的状态数据
- Android保存和恢复activity状态数据
- Activity界面状态保存和恢复
- Activitty状态保存onSaveInstanceState和恢复onRestoreInstanceState
- Activity状态的保存和恢复
- 保存和恢复activity的状态
- Fragment的状态保存和恢复
- 退出应用数据的保存和恢复
- 预编译宏
- javascript的相关格式化
- spring 整合内存缓存LoadingCache
- 基于jenkins搭建一个分布式持续集成服务器
- LA 4998 Simple Encryption (数论 dfs)
- iOS应用状态保存和恢复
- CentOS_6.5配置iptables防火墙策略
- 从业务骨干到管理精英
- 【LintCode】Max Points on a Line(笔记)
- android应用的视频压缩
- 不关闭seLinux解决vsftpd服务本地用户不能登录问题(500 OOPS: cannot change directory:/home/***)
- 查询MySql数据库物理文件存放位置
- 安卓开发实现长连接,心跳,java后端,实现消息推送,持续更新中
- Saltstack生产案例讲解