[Xcode10 實際操作]七、檔案與資料-(7 )使用UserDefaults檢測App是否首次執行
阿新 • • 發佈:2018-12-01
本文將演示UserDefaults的使用,它常被用於儲存程式的配置資料。
當關閉程式之後,再次開啟程式時,之前儲存的資料依然可以從UserDefaults裡讀取。
在專案導航區,開啟檢視控制器的程式碼檔案【ViewController.swift】
1 import UIKit 2 3 class ViewController: UIViewController { 4 5 override func viewDidLoad() { 6 super.viewDidLoad() 7 // Do any additional setup after loading the view, typically from a nib.8 //建立一個字串常量,作為是否啟動過的標識名稱 9 let EVERLAUNCHED = "everLaunched" 10 //再建立一個字串常量,作為是否首次啟動的標識名稱 11 let FIRSTLAUNCH = "firstLaunch" 12 13 //獲得變數的布林值,當程式首次啟動時, 14 //由從未設定過此變數,所以它的預設值為否(False) 15 if(!UserDefaults.standard.bool(forKey: EVERLAUNCHED))16 { 17 //將標識是否曾經啟動過的變數,更改為真。 18 //表示當前程式,已經被啟動過至少一次 19 UserDefaults.standard.set(true, forKey: EVERLAUNCHED) 20 //將標識是否首次啟動的變數,更改為真。 21 //表示當前程式,屬於首次啟動。 22 //可以根據業務需求,進行各種初始化工作。 23 UserDefaults.standard.set(true, forKey: FIRSTLAUNCH) 24 //呼叫同步方法,立即儲存修改 25 UserDefaults.standard.synchronize() 26 } 27 else 28 { 29 //如果曾經啟動過程式,則設定首次變數的值為否(False) 30 UserDefaults.standard.set(false, forKey: FIRSTLAUNCH) 31 //呼叫同步方法,立即儲存修改 32 UserDefaults.standard.synchronize() 33 } 34 35 //初始化一個字串,作為提示視窗的資訊內容 36 var message = "It's the first show" 37 //對於非首次執行的程式,設定不同的字串文字 38 if(!UserDefaults.standard.bool(forKey: FIRSTLAUNCH)) 39 { 40 //設定不同的字串文字 41 message = "It's not the first show" 42 } 43 //再控制檯列印輸出相應的日誌 44 print(message) 45 } 46 47 override func didReceiveMemoryWarning() { 48 super.didReceiveMemoryWarning() 49 // Dispose of any resources that can be recreated. 50 } 51 }