iOS持久化概览

·  阅读 418

iOS持久化概览

数据持久化大体上分文件和DB两大类,此外系统提供的keychain大概算第三类。

细分如下:

  • 文件类
    • plist
      • 集合类直接序列化(writeToFile)
        • 显式声明atomically:YES时是线程安全的
      • NSUserDefaults
        • 主要用于存键值对,线程安全
    • NSKeyedArchiver
      • Model实现NSCoding协议即可,非线程安全
  • DB类
    • SQLite3
      • 使用非常广泛的跨平台、轻量级、关系型db
      • 非线程安全
    • CoreData
      • 官方基于SQLite的ORM框架
    • 第三方
      • FMDB
        • 对SQLite的面向对象封装,线程安全
      • Realm
        • 自己搞的一套引擎,优秀的面向对象接口
  • keychain
    • keychain是系统提供的用于安全存储的机制,主要放用户名、密码、其它凭证等。
    • 特点是APP删除不会丢失,因此常用来存用户的唯一标识(另一个可用的方式是IDFA,但可被用户禁用)

参考:

iOS数据本地持久化方法总结

iOS面试-数据库比较:SQLite vs. Core Data vs. Realm

分类:
iOS
标签:
分类:
iOS
标签:
收藏成功!
已添加到「」, 点击更改