1. 程式人生 > >[Xcode10 實際操作]七、檔案與資料-(7 )使用UserDefaults檢測App是否首次執行

[Xcode10 實際操作]七、檔案與資料-(7 )使用UserDefaults檢測App是否首次執行

本文將演示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 }