Documents
需要保存由"應(yīng)用程序本身"產(chǎn)生的文件或者數(shù)據(jù),例如:游戲進(jìn)度氧吐、涂鴉軟件的繪圖讹蘑。目錄中的文件會被自動保存在 iCloud末盔。
Caches
1.保存臨時(shí)文件,"后續(xù)需要使用"座慰,例如:緩存圖片陨舱,離線數(shù)據(jù)(地圖數(shù)據(jù))。
2.系統(tǒng)不會清理 cache 目錄中的文件版仔。
3.就要求程序開發(fā)時(shí)游盲,"必須提供 cache 目錄的清理解決方案"
tmp
1.保存臨時(shí)文件,"后續(xù)不需要使用"蛮粮。
2.tmp 目錄中的文件益缎,系統(tǒng)會自動清理
3.重新啟動手機(jī),tmp 目錄會被清空
4.系統(tǒng)磁盤空間不足時(shí)然想,系統(tǒng)也會自動清理
Preferences
用戶偏好莺奔,使用 NSUserDefault 直接讀寫!如果要想數(shù)據(jù)及時(shí)寫入磁盤变泄,還需要調(diào)用一個(gè)同步方法
Caches和tmp的區(qū)別:caches呢就是緩存的令哟,例如下載一些文件啊,有些pdf或者其他圖片挺大的妨蛹,可以放在這里屏富,應(yīng)用下次打開的時(shí)候還會在的。而tmp下次打開很有可能被自動刪除了蛙卤,這是臨時(shí)文件夾
Caches和documents區(qū)別就在于:cheches文件夾不會在你備份手機(jī)數(shù)據(jù)的時(shí)候上傳到iTunes上去狠半,documents則會被備份上傳噩死,所以documents放占用空間小的重要數(shù)據(jù),備份數(shù)據(jù)就很輕松caches放的是比較大的文件典予,所以就不備份甜滨,太大了不容易上傳。
//獲取沙盒根目錄
NSString*directory =NSHomeDirectory();
//獲取Documents路徑
NSArray*paths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString*path = [paths objectAtIndex:0];
//獲取Caches路徑
NSArray*paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString*path = [paths objectAtIndex:0];
//獲取tmp路徑
NSString*tmp =NSTemporaryDirectory();
歡迎各位過路神仙指出錯(cuò)誤瘤袖。