iOS持久化手段概覽

iOS持久化概覽面試

數據持久化大致上分文件和DB兩大類,此外系統提供的keychain大概算第三類。數據庫

細分以下:安全

  • 文件類框架

    • plistatom

      • 集合類直接序列化(writeToFile)線程

        • 顯式聲明atomically:YES時是線程安全的
      • NSUserDefaultscode

        • 主要用於存鍵值對,線程安全
    • NSKeyedArchiver對象

      • Model實現NSCoding協議便可,非線程安全
  • DB類接口

    • SQLite3get

      • 使用很是普遍的跨平臺、輕量級、關係型db
      • 非線程安全
    • CoreData

      • 官方基於SQLite的ORM框架
    • 第三方

      • FMDB

        • 對SQLite的面向對象封裝,線程安全
      • Realm

        • 本身搞的一套引擎,優秀的面向對象接口
  • keychain

    • keychain是系統提供的用於安全存儲的機制,主要放用戶名、密碼、其它憑證等。
    • 特色是APP刪除不會丟失,所以經常使用來存用戶的惟一標識(另外一個可用的方式是IDFA,但可被用戶禁用)

參考:

iOS數據本地持久化方法總結

iOS面試-數據庫比較:SQLite vs. Core Data vs. Realm

相關文章
相關標籤/搜索