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
-
PC端
-
對象型數(shù)據(jù)庫
- 以對象的形式進(jìn)行存儲,使用方便,維護(hù)簡單,但目前還不成熟
-
關(guān)系型數(shù)據(jù)庫(主流)
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