沙盒系統(tǒng)
每個app安裝之后都存放在一個單獨的目錄當(dāng)中,這個目錄叫做沙盒,目錄結(jié)構(gòu)如下:
Documents-Documents 會在用戶通過itunes備份的時候被自動備份
Library/Caches
Library/Preferences
tmp
Bundle
NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
得到 $(沙盒目錄)/Documents (返回結(jié)果是數(shù)組)
Cache系統(tǒng)
cache存儲有過期時間
- NSURLCache,以url為單元,可以存在硬盤上
- NSCache,只放在內(nèi)存當(dāng)中,和NSMutableDictionary區(qū)別不大,有意義的是:ios可以在程序運行期自行釋放NSCache
Keychain 系統(tǒng)
- 專注于存放密碼或者證書
- 數(shù)據(jù)加密存儲
- 保存的信息不會因App被刪除而丟失,在用戶重新安裝App后依然有效
文件格式
- 二進(jìn)制:NSData
- plist: 最常見而且簡單
- 對象序列化:NSKeyedArchiver
- sqlite: 文件數(shù)據(jù)庫,Core Data/sqlite3/FMDB
- plain text: 罕見,用Standard C Library操作,fopen/fwrite/fclose