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