[Xcode 实际操做]7、文件与数据-(7 )使用UserDefaults检测App是否首次运行

目录:[Swift]Xcode实际操做html

本文将演示UserDefaults的使用,它常被用于存储程序的配置数据。swift

当关闭程序以后,再次打开程序时,以前存储的数据依然能够从UserDefaults里读取。ide

在项目导航区,打开视图控制器的代码文件【ViewController.swift】post

 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 }
相关文章
相关标签/搜索