程序進入后臺,以及應用終止時調(diào)用的方法

在AppDelegate中有如下兩個方法要注意:
applicationDidEnterBackground() 當應用進入后臺時起作用
applicationWillTerminate() 當應用終止的時候起作用

有了這兩個方法,我們就可以對程序數(shù)據(jù)進行保護。
比如當應用崩潰,內(nèi)存不足被系統(tǒng)終止,程序在后臺呆太久被終止掉時,可以通過這兩個方法對操作數(shù)據(jù)進行保存,以免數(shù)據(jù)丟失。

原文出自:www.hangge.com 轉(zhuǎn)載請保留原文鏈接:http://www.hangge.com/blog/cache/detail_722.html

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
        //執(zhí)行ViewController的自定義數(shù)據(jù)保存方法
        controller.saveData()
    }
     
    func applicationWillResignActive(application: UIApplication) {
    }
 
    func applicationWillEnterForeground(application: UIApplication) {
    }
 
    func applicationDidBecomeActive(application: UIApplication) {
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容