[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 }

猜你喜欢

转载自www.cnblogs.com/strengthen/p/10048618.html