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

时间:2022-08-12 04:47:14

1.用NSUserDefaults存储配置信息

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

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

1.首次登陆,APP引导介绍页
IOS(swift)-数据存储 · 用NSUserDefaults存储配置信息
APP引导动画.jpg

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

2、记住用户信息
IOS(swift)-数据存储 · 用NSUserDefaults存储配置信息
记住密码.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("不是第一次启动")
}