iOS持久化存储方案

概要

iOS常用的持久化存储方案一般有:NSUserDefault、Keychain,File,数据库等几种方案。

NSUserDefault

  • 应用范围:应用程序配置信息,小规模的数据

Keychain

  • 应用范围:需要被加密的一些信息如密码等
  • 使用详解参见iOS Keychain总结

File

包括plist,archive,stream等几种

  • plist:结构化的数据,方便查询
  • Archive:不常用但大量的数据,或读取后希望直接对象化的数据,因为Archive会将对象及其对象关系序列化,以至于读取数据的时候需要Decode很花时间,Decode的过程可以是解压,也可以是对象化,这个可以根据具体
    中的实现来决定。
  • Stream:一般的文件存储,如图片等,适合于经常使用,但数据量又不是很大的。
NSUserDefault和plist的异同
    • NSUserDefault:少量数据,是对Plist文件的封装,应用程序配置信息如用户登录后的偏好设置
      • 使用方法参见NSUserDefault用法
    • plist:下载好的量大的数据
    • 实质都是plist,只能存取特定类型的数据:NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary.如果想要存储其它类型,需要将打包成NSData类型。

数据库

包括基于数据库的SQLite、CoreData。

参考

  • iOS应用架构谈 本地持久化方案及动态部署

你可能感兴趣的:(iOS持久化存储方案)