IOS数据处理及版本特性-退出系统前的事件处理以及首次开启app的处理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_21153627/article/details/84256756
//
//  ViewController.swift
//  DemoApp
//
//  Created by 郭文亮 on 2018/11/19.
//  Copyright © 2018年 finalliang. All rights reserveds
//
import UIKit
class ViewController: UIViewController{
    override func viewDidLoad() {
        super.viewDidLoad()
        test2()
      test1()
        
    }
    //USERDefauls的使用 用于存储程序的配置数据。关闭程序后再次打开读取之前的数据
    func test2() {
        //作为是否启动过的标识
        let EVERLAUNCHED = "everLaunched"
        //作为是否首次启动的标识名称
        let FIRSTLAUNCHED = "firstLauch"
        //获得变量的布尔值 当程序首次启动时,由于没有设置 所以默认为否
        if (!UserDefaults.standard.bool(forKey: EVERLAUNCHED)) {
            //启动后更改标识为真
            UserDefaults.standard.set(true, forKey: EVERLAUNCHED)
            UserDefaults.standard.set(true, forKey: FIRSTLAUNCHED)
            //调用同步方法立即保存修改
            UserDefaults.standard.synchronize()
        }else{
            UserDefaults.standard.set(false, forKey: FIRSTLAUNCHED)
            UserDefaults.standard.synchronize()
        }
        var message = "It's the first show"
        if !UserDefaults.standard.bool(forKey: FIRSTLAUNCHED) {
            message = "it's not the first shwo"
        }
        print(message)
        
        
    }
    
    //退出系统前的事件处理
    func test1() {
        //获得一个应用实例 , 控制程序运行期间的控制和协作 每个程序都有且仅有一个应用实例
        let app = UIApplication.shared
        //通知中心是基础框架的子系统  在这里 他向所有监听程序退出事件的对象 广播消息
        NotificationCenter.default.addObserver(self, selector: #selector(ViewController.doSomething(_:)), name:.UIApplicationWillResignActive, object: app)
    }
    //响应程序退出事件 在程序退出时做必要的操作。比如说保存用户数据
    @objc func doSomething(_ sender:AnyObject){
        print("Saving data before exit.")
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

猜你喜欢

转载自blog.csdn.net/qq_21153627/article/details/84256756