1.什么是數(shù)據(jù)庫?

  • 數(shù)據(jù)庫(Database) 是按照數(shù)據(jù)結(jié)構(gòu)來組織,存儲和管理數(shù)據(jù)的倉庫

  • 數(shù)據(jù)庫可以分為2大種類
    • 關(guān)系型數(shù)據(jù)庫(主流)
      • PC端
        • Oracle
        • MySQL
        • SQL Server
        • Access
        • DB2
        • Sybase
      • 嵌入式/移動(dòng)客戶端
        • SQLite
    • 對象型數(shù)據(jù)庫
      • 以對象的形式進(jìn)行存儲,使用方便,維護(hù)簡單,但目前還不成熟

2.iOS中數(shù)據(jù)存儲的方式

  • Plist (NSArray / NSDictionary)
    • 特點(diǎn): 只能存儲系統(tǒng)自帶的數(shù)據(jù)類型,如NSDictionary,NSArray等等,自定義的對象無法存儲
  • Preference (偏好設(shè)置 / NSUserDefaults)
    • 特點(diǎn): 本質(zhì)就是一個(gè)Plist文件
  • NSCoding (NSKeyedArchiver / NSKeyedUnarchiver)
    • 特點(diǎn): 可以存儲自己定義的數(shù)據(jù)類型,但是都是一次性的全數(shù)據(jù)操作
  • SQLite3
    • 特點(diǎn): 存儲一些大批量的數(shù)據(jù),排序,統(tǒng)計(jì)等操作
  • Core Data
    • 特點(diǎn): 對SQLite3的一層面向?qū)ο蟮陌b,本質(zhì)還是要轉(zhuǎn)換成對應(yīng)的SQL語句去執(zhí)行
  • 鑰匙串
    • 特點(diǎn): keychain是一個(gè)安全的加密的容器,用來為多個(gè)應(yīng)用程序存儲密碼和提供安全服務(wù)
    • 在mac中,用戶只需要輸入一個(gè)主密碼就可以訪問到keychain里的所有內(nèi)容
    • 在iOS中,不需要輸入密碼,一個(gè)App永遠(yuǎn)可以訪問他自己的keychain items,但是不能訪問到別的app的items
    • 對keychain操作的工具類github搜索: lockbox

網(wǎng)友評論