Swift - 程序进入后台,以及应用终止时调用的方法
2023-09-11 14:17:59 时间
在AppDelegate中有如下两个方法要注意:
注意:self.windows表示storyboard中的UIWindow对象,也是所有视图的总容器。在iOS应用中只有一个UIWindow对象。
applicationDidEnterBackground() 当应用进入后台时起作用
applicationWillTerminate() 当应用终止的时候起作用
有了这两个方法,我们就可以对程序数据进行保护。
比如当应用崩溃,内存不足被系统终止,程序在后台呆太久被终止掉时,可以通过这两个方法对操作数据进行保存,以免数据丢失。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
import UIKit @UIApplicationMain class AppDelegate : UIResponder , UIApplicationDelegate { var window: UIWindow ? func application(application: UIApplication , didFinishLaunchingWithOptions launchOptions: [ NSObject : AnyObject ]?) -> Bool { return true } //当应用进入后台时其作用 func applicationDidEnterBackground(application: UIApplication ) { saveData() } //当应用终止的时候起作用 func applicationWillTerminate(application: UIApplication ) { saveData() } func saveData(){ //获取导航控制器 let navigation = self .window?.rootViewController as UINavigationController //获取导航控制器的根视图控制器 var controller: ViewController = navigation.viewControllers.first! as ViewController //执行ViewController的自定义数据保存方法 controller.saveData() } func applicationWillResignActive(application: UIApplication ) { } func applicationWillEnterForeground(application: UIApplication ) { } func applicationDidBecomeActive(application: UIApplication ) { } } |
如果我们给导航控制器勾选了is Initial View Controller属性,UIWindow对象的rootViewController获取的就是勾选了is Initial View Controller属性的导航控制器。
相关文章
- Linux下使Shell 命令脱离终端在后台运行
- sql server 关于表中只增标识问题 C# 实现自动化打开和关闭可执行文件(或 关闭停止与系统交互的可执行文件) ajaxfileupload插件上传图片功能,用MVC和aspx做后台各写了一个案例 将小写阿拉伯数字转换成大写的汉字, C# WinForm 中英文实现, 国际化实现的简单方法 ASP.NET Core 2 学习笔记(六)ASP.NET Core 2 学习笔记(三)
- 使用nssm工具将ES、Kibana、Logstash或者其他.bat文件部署为Windows后台服务的方法
- Linux 进程后台运行的几种方式(screen)
- vue+iview后台管理系统util.ajax跨域问题的解决方法
- asp.net后台cs中的JSON格式变量在前台Js中调用方法!(前后台实例!)
- 拼多多面试题——java后台岗位面试
- Linux 下让进程在后台可靠运行的几种方法
- 后台(一)vue+element-ui (按需加载)
- react 后台(一)react + redux + react-route + webpack+ axios + antd+styled-components(替代less)
- VMware虚拟机如何在后台运行,后台运行怎么设置其在电脑右下角显示托盘图标
- 微信小程序springboot在线考试系统小程序+后台管理系统 | 计算机毕业设计
- highcharts 结合phantomjs纯后台生成图片
- Linux查看和关闭后台运行程序的方法
- 11款超5000星 后台管理模板, 总有一款适合你!
- MVC4中AJAX Html页面打开调用后台方法实现动态载入数据库中的数据
- ECshop后台新功能权限添加