IOS資料處理及版本特性-退出系統前的事件處理以及首次開啟app的處理
阿新 • • 發佈:2018-11-22
// // ViewController.swift // DemoApp // // Created by 郭文亮 on 2018/11/19. // Copyright © 2018年 finalliang. All rights reserveds // import UIKit class ViewController: UIViewController{ override func viewDidLoad() { super.viewDidLoad() test2() test1() } //USERDefauls的使用 用於儲存程式的配置資料。關閉程式後再次開啟讀取之前的資料 func test2() { //作為是否啟動過的標識 let EVERLAUNCHED = "everLaunched" //作為是否首次啟動的標識名稱 let FIRSTLAUNCHED = "firstLauch" //獲得變數的布林值 當程式首次啟動時,由於沒有設定 所以預設為否 if (!UserDefaults.standard.bool(forKey: EVERLAUNCHED)) { //啟動後更改標識為真 UserDefaults.standard.set(true, forKey: EVERLAUNCHED) UserDefaults.standard.set(true, forKey: FIRSTLAUNCHED) //呼叫同步方法立即儲存修改 UserDefaults.standard.synchronize() }else{ UserDefaults.standard.set(false, forKey: FIRSTLAUNCHED) UserDefaults.standard.synchronize() } var message = "It's the first show" if !UserDefaults.standard.bool(forKey: FIRSTLAUNCHED) { message = "it's not the first shwo" } print(message) } //退出系統前的事件處理 func test1() { //獲得一個應用例項 , 控制程式執行期間的控制和協作 每個程式都有且僅有一個應用例項 let app = UIApplication.shared //通知中心是基礎框架的子系統 在這裡 他向所有監聽程式退出事件的物件 廣播訊息 NotificationCenter.default.addObserver(self, selector: #selector(ViewController.doSomething(_:)), name:.UIApplicationWillResignActive, object: app) } //響應程式退出事件 在程式退出時做必要的操作。比如說儲存使用者資料 @objc func doSomething(_ sender:AnyObject){ print("Saving data before exit.") } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }