Swift - 使用NSUserDefaults来进行本地数据存储
2016-06-11 10:00
232 查看
NSUserDefaults适合存储轻量级的本地客户端数据,比如记住密码功能,要保存一个系统的用户名、密码。使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。
一般来说本地存储数据我们还可以是用SQlite数据库,或者使用自己建立的plist文件什么的,但这还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。
NSUserDefaults支持的数据格式也很多,有:Int,Float,Double,BOOL,甚至AnyObject类型。
1,下面通过一个样例演示NSUserDefaults的用法:
(1)如果是第一次运行程序通过CFUUIDCreate方法生成一个唯一字符串作为用户id储存起来(形如:B8DDB58D-73BF-4E39-A051-365858FC4626)
(2)往后运行时直接从NSUserDefaults中把用户id取出
2,对原生数据类型的储存和读取
3,系统对象的存储与读取
系统对象实现存储,需要通过archivedDataWithRootObject方法转换成NSData为载体,才可以存储。下面以UIImage对象为例:
4,自定义对象的存储和读取
如果想要存储自己定义的类,首先需要对该类实现NSCoding协议来进行归档和反归档(序列号和反序列化)。即该类内添加func encodeWithCoder(_encoder:NSCoder)方法和init(coder decoder:NSCoder)方法,将属性进行转换。
Swift -
使用NSUserDefaults来进行本地数据存储
一般来说本地存储数据我们还可以是用SQlite数据库,或者使用自己建立的plist文件什么的,但这还得自己显示创建文件,读取文件,很麻烦,而是用NSUserDefaults则不用管这些东西,就像读字符串一样,直接读取就可以了。
NSUserDefaults支持的数据格式也很多,有:Int,Float,Double,BOOL,甚至AnyObject类型。
1,下面通过一个样例演示NSUserDefaults的用法:
(1)如果是第一次运行程序通过CFUUIDCreate方法生成一个唯一字符串作为用户id储存起来(形如:B8DDB58D-73BF-4E39-A051-365858FC4626)
(2)往后运行时直接从NSUserDefaults中把用户id取出
系统对象实现存储,需要通过archivedDataWithRootObject方法转换成NSData为载体,才可以存储。下面以UIImage对象为例:
如果想要存储自己定义的类,首先需要对该类实现NSCoding协议来进行归档和反归档(序列号和反序列化)。即该类内添加func encodeWithCoder(_encoder:NSCoder)方法和init(coder decoder:NSCoder)方法,将属性进行转换。
使用NSUserDefaults来进行本地数据存储
相关文章推荐
- Swift和Java关于集合类型的比较
- swift-2类型标注
- Swift如何取得View所属的ViewController
- Swift如何取得View所属的ViewController
- Swift如何取得View所属的ViewController
- 获取当前日期时间、日期时间格式化及转换
- [转]---使用 Realm 和 Swift 创建 ToDo 应用
- UBUNTU15.10上安装swift环境
- Swift 项目首次启动轮播页的制作
- [swift学习之十六]RunTime练习一
- swift:定时器的使用、回调函数的指定方式
- Swift 延时执行
- coreData relationShip
- 为什么 NSLog 不支持 Swift 对象(转)
- swift常用词汇(持续更新)
- Swift使用NSJSONSerialization请求解析JOSN文件
- iOS开发 - Swift使用JavaScriptCore与JS交互
- 為 Swift 代碼編寫含有 Mardown 語法的文檔
- swift 图层设置遮罩层
- swift iOS8 XIB 问题