• IOS(swift)-数据存储 · 用NSUserDefaults存储配置信息


    1.用NSUserDefaults存储配置信息

    注:本次使用NSUserDefaults存储信息是在不考虑安全问题的前提下。
    分两种情况:
    1.如果是密码用户名等敏感信息,请使用Keychain存储用户敏感信息,我将在后面写一篇用Keychain存储用户敏感信息
    2.如果是设置 记住密码、第一次打开应用引导App,或者一般APP的设置,那么,可使用NSUserDefaults

    一般情况下使用方法,最常见的有两种:

    1.首次登陆,APP引导介绍页

    APP引导动画.jpg

    用户在首次打开APP的时候,使用NSUserDefaults判断用户是否有配置存储信息,一般会申明一个 isFirstLaunch,判断是否为第一次启动。如果是第一次启动,则先出现一个引导页面。

    2、记住用户信息

    记住密码.png

    我们这里以第二种讲解:
    比如这里的

    用户名 ——> nameField
    密码 ——> pwdField
    开关 ——>rembSwich
    登陆按钮 ———>loginBtn

    逻辑为

    点击 1.登陆按钮保存配置信息-2.重新登陆读取配置信息。

    1.登陆按钮保存配置信息

    //全局设置
    let UserNameKey = "name"
    let PwdKey = "pwd"
    let RmbPwdKey = "rmb_pwd"
    let IsFirstLaunch = "ifl"
    
    //设置存储信息
    NSUserDefaults.standardUserDefaults().setObject(self.nameField.text, forKey: "UserNameKey") 
    NSUserDefaults.standardUserDefaults().setObject(self.pwdField.text, forKey: "PwdKey")
    NSUserDefaults.standardUserDefaults().setBool(self.rembSwich.on, forKey: "RmbPwdKey")
    //设置同步
    NSUserDefaults.standardUserDefaults().synchronize()

    2.重新登陆读取配置信息:

    //读取上次配置
    self.nameField.text = 
    NSUserDefaults.standardUserDefaults().valueForKey("UserNameKey") as String!
    self.pwdField.text = NSUserDefaults.standardUserDefaults().valueForKey("PwdKey") as String!
    self.rembSwich.on = NSUserDefaults.standardUserDefaults().boolForKey("RmbPwdKey") as Bool!    
    if (self.rembSwich.on){   
    self.pwdField.text = NSUserDefaults.standardUserDefaults().valueForKey("PwdKey") as String!
     }
    
    //判断是否第一次启动:
     if((NSUserDefaults.standardUserDefaults().boolForKey("IsFirstLaunch") as Bool!) == false){
    //第一次启动,播放引导页面
     println("第一次启动")
    //设置为非第一次启动
    NSUserDefaults.standardUserDefaults().setBool(true, forKey: "IsFirstLaunch")
     }else{
     println("不是第一次启动")
     }
  • 相关阅读:
    【原创】驱动加载之OpenService
    【原创】驱动加载之CreateService
    【原创】驱动加载之OpenSCManager
    【原创】如何由结构体成员的地址逆算出结构体首地址
    【原创+整理】简述何为调用约定,函数导出名以及extern C
    【整理】WDK 和 DDK异同
    java IO流
    java StringBuffer与StringBuilder
    java集合——进度1
    javaweb——总结
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/5061860.html
Copyright © 2020-2023  润新知