iOS 持久化存储

  • KeyChain
    KeyChain(钥匙串)存储是Apple平台一个专门用来存储用户敏感信息的一种存储方式,一般用来存储密码、秘钥等数据,可以用于不同App之间的共享。
  • UserDefaults
    UserDefaults是iOS平台下一个轻量级的存储模式,主要用来存储应用程序的配置信息。可以支持的类型有NSData、NSString、NSNumber、NSDate、NSArray、NSDictionary等,如果要存储其他类型数据,一般要转成之前的几种数据类型存储。而NSArray、NSDictionary容器的元素也要求是以上几种数据类型。存储其他类型的数据会出现一些很奇怪的问题、
  • Plist
    和UserDefaults差不多,一般UserDefaults用于存储程序运行过程中的一些配置信息,而Plist用于存储程序开发时需要持久化的一些预制信息。
  • 文件存储
    主要用于存储图片、视频、音频等体积比较大的数据,其基础存储类型是NSData二进制数据,对类型没有什么限制,所以可以用自己的方式对NSData进行一些加密处理。
  • 归档
    归档是另一种形式的序列号,是任何对象都可实现的更常规的类型。只要遵守了NSCoding协议或NSSecureCoding协议,并且实现了协议里归档和解归档的方法的类创建的对象才能进行归档。
  • SQLite
    嵌入式关系型数据库,一般用于存储有相同数据结构的大批量数据。但是使用起来比较复杂,需要考虑数据库设计、升级、线程同步等。一般OC中使用FMDB,Swift中使用GRDB。
  • CoreData
    是苹果提供的关系型数据库,没有使用过
  • Realm
    Ream一个专门针对移动平台设计的映射型数据库,也是一个跨平台的移动数据库引擎。其优势在于开源、跨平台、简单易用、线程安全等

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