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

  • 數(shù)據(jù)庫(kù)(Database) 是按照數(shù)據(jù)結(jié)構(gòu)來(lái)組織,存儲(chǔ)和管理數(shù)據(jù)的倉(cāng)庫(kù)

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

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

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

網(wǎng)友評(píng)論