zoukankan      html  css  js  c++  java
  • [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 }
  • 相关阅读:
    ural 1110,快速幂
    ural 1109,NYOJ 239,匈牙利算法邻接表
    CodeBlocks养眼的colour theme
    UVa 10047,独轮车
    UVa 10054,欧拉回路
    UVa 11624,两次BFS
    hiho一下,第115周,FF,EK,DINIC
    Poj(1220),hash
    2013 Asia Regional Changchun I 题,HDU(4821),Hash
    UVa 213,World Finals 1991,信息解码
  • 原文地址:https://www.cnblogs.com/strengthen/p/10048618.html
Copyright © 2011-2022 走看看