在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) {
}
}