加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Swift - 程序进入后台,以及应用终止时调用的方法

发布时间:2020-12-14 07:14:28 所属栏目:百科 来源:网络整理
导读:在AppDelegate中有如下两个方法要注意: applicationDidEnterBackground() 当应用进入后台时起作用 applicationWillTerminate() 当应用终止的时候起作用 有了这两个方法,我们就可以对程序数据进行保护。 比如当应用崩溃,内存不足被系统终止,程序在后台呆
在AppDelegate中有如下两个方法要注意:
applicationDidEnterBackground()当应用进入后台时起作用
applicationWillTerminate()当应用终止的时候起作用

有了这两个方法,我们就可以对程序数据进行保护。
比如当应用崩溃,内存不足被系统终止,程序在后台呆太久被终止掉时,可以通过这两个方法对操作数据进行保存,以免数据丢失。
import UIKit
@UIApplicationMain
class AppDelegate : UIResponder , UIApplicationDelegate {
var window: UIWindow ?
func application(application: UIApplication didFinishLaunchingWithOptions launchOptions: [ NSObject : AnyObject ]?) -> Bool {
return true
}
//当应用进入后台时其作用
applicationDidEnterBackground(application: ) {
saveData()
}
//当应用终止的时候起作用
applicationWillTerminate(application: ) {
saveData()
}
saveData(){
//获取导航控制器
let navigation = self .window?.rootViewController as UINavigationController
//获取导航控制器的根视图控制器
controller: ViewController = navigation.viewControllers.first! ViewController
//执行ViewController的自定义数据保存方法
controller.saveData()
}
applicationWillResignActive(application: ) {
}
applicationWillEnterForeground(application: ) {
}
applicationDidBecomeActive(application: ) {
}
}
注意: self.windows表示storyboard中的UIWindow对象,也是所有视图的总容器。在iOS应用中只有一个UIWindow对象。
如果我们给导航控制器勾选了is Initial View Controller属性,UIWindow对象的rootViewController获取的就是勾选了is Initial View Controller属性的导航控制器。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读