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("不是第一次启动")
 }
时间: 2024-10-16 04:09:42

IOS(swift)-数据存储 · 用NSUserDefaults存储配置信息的相关文章

ios应用数据存储方式(NSUserDefaults)

一.简介 很多iOS应用都支持偏好设置,主要用于存储个人保密信息.比如保存用户名,密码,是否自动登录等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能. 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置. 二.代码实现 AppDelegate.m //NSUserDefaults的创建存储 NSUserDefaults *userdefaults = [NSUserDefaults standardUserDefaults];//创建一个defaults管理器 [

iOS应用数据存储的常用方式

ios程序中数据数据存储有下列5种方式 XML属性列表(plist)归档 Preference(偏好设置) NSKeyedArchiver归档(NSCoding) SQLite3 Core Data 每个iOS应用都有自己的应用沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应用必须待在自己的沙盒里,其他应用不能访问该沙盒 应用沙盒的文件系统目录,如下图所示(假设应用的名称叫Layer) 模拟器应用沙盒的根路径在: (apple是用户名, 7.0是模拟器版本) /Users/apple/L

iOS开发UI篇—ios应用数据存储方式(偏好设置)

iOS开发UI篇—ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 1 // Created by 鑫 on 14-10-24. 2 // Copyright (c) 2014年 梁镋鑫.

iOS 应用数据存储方式(XML属性列表-plist)

iOS 应用数据存储方式(XML属性列表-plist) 一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有?己的应?沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应?必须待在?己的沙盒里,其他应用不能访问该

ios应用数据存储方式(偏好设置)

ios应用数据存储方式(偏好设置) 一.简单介绍 很多iOS应用都支持偏好设置,比如保存用户名.密码.字体大小等设置,iOS提供了一套标准的解决方案来为应用加入偏好设置功能 每个应用都有个NSUserDefaults实例,通过它来存取偏好设置.比如,保存用户名.字体大小.是否自动登录 存储位置: 存储形式: 二.代码示例 1.storyboard 2.代码 8 9 #import "YYViewController.h" 10 //偏好设置 11 @interface YYViewCo

IOS开发数据存储篇—IOS中的几种数据存储方式

IOS开发数据存储篇—IOS中的几种数据存储方式 发表于2016/4/5 21:02:09  421人阅读 分类: 数据存储 在项目开发当中,我们经常会对一些数据进行本地缓存处理.离线缓存的数据一般都保存在APP所在的沙盒之中.一般有以下几种: 1.PList(XML属性列表) 在使用plist进行数据存储和读取,只适用于系统自带的一些常用类型才能用,且必须先获取路径相对麻烦 //写入文件 NSString *doc = [NSSearchPathForDirectoriesInDomains(

ios应用数据存储方式(XML属性列表-plist)

ios应用数据存储方式(XML属性列表-plist) 一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有?己的应?沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应?必须待在?己的沙盒里,其他应用不能访问该沙

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist

iOS开发UI篇—ios应用数据存储方式(XML属性列表-plist) 一.ios应用常用的数据存储方式 1.plist(XML属性列表归档) 2.偏好设置 3.NSKeydeArchiver归档(存储自定义对象) 4.SQLite3(数据库,关系型数据库,不能直接存储对象,要编写一些数据库的语句,将对象拆开存储) 5.Core Data(对象型的数据库,把内部环节屏蔽) 二.应用沙盒 每个iOS应用都有?己的应?沙盒(应用沙盒就是文件系统目录),与其他文件系统隔离.应?必须待在?己的沙盒里,其

IOS应用数据存储

IOS应用数据存储 常用方式 - XML属性列表(plist)归档 - Preference(偏好设置) - NSKeyedArchiver归档(NSCoding) - SQLite3 - Core Data 应用程序沙盒 每个应用程序都有自己的应用沙盒(应用沙盒就是文件系统目录)与其它文件系统隔离.应用必须呆在 自己的沙盒里,其它应用不能访问该沙盒 应用沙盒目录<假设应用名字Layer>  应用沙盒结构分析 应用沙盒的常见获取方式 沙盒根目录:NSString *home = NSHomeD