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


    目录:[Swift]Xcode实际操作

    本文将演示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 }
  • 相关阅读:
    Grid自动添加行
    C#中Trim()、TrimStart()、TrimEnd()的用法
    input事件
    JS判断元素文本值是否为空
    JS转换Date日期格式
    Bootstrap 内联标签和徽章
    each()详解
    highcharts图表属性
    Highcharts去掉一些小图标
    div怎么在底部设计一个倒三角形
  • 原文地址:https://www.cnblogs.com/strengthen/p/10048618.html
Copyright © 2020-2023  润新知