iOS持久化存储方案
2016-05-09 本文已影响588人
NapoleonY
概要
iOS常用的持久化存储方案一般有:NSUserDefault、Keychain,File,数据库等几种方案。
NSUserDefault
- 应用范围:应用程序配置信息,小规模的数据
Keychain
- 应用范围:需要被加密的一些信息如密码等
- 使用详解参见iOS Keychain总结
File
包括plist,archive,stream等几种
- plist:结构化的数据,方便查询
- Archive:不常用但大量的数据,或读取后希望直接对象化的数据,因为Archive会将对象及其对象关系序列化,以至于读取数据的时候需要Decode很花时间,Decode的过程可以是解压,也可以是对象化,这个可以根据具体<NSCoding>
中的实现来决定。 - Stream:一般的文件存储,如图片等,适合于经常使用,但数据量又不是很大的。
NSUserDefault和plist的异同
- 异
- NSUserDefault:少量数据,是对Plist文件的封装,应用程序配置信息如用户登录后的偏好设置
- 使用方法参见NSUserDefault用法
- plist:下载好的量大的数据
- NSUserDefault:少量数据,是对Plist文件的封装,应用程序配置信息如用户登录后的偏好设置
- 同
- 实质都是plist,只能存取特定类型的数据:
NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary.
如果想要存储其它类型,需要将打包成NSData
类型。
- 实质都是plist,只能存取特定类型的数据:
数据库
包括基于数据库的SQLite、CoreData。