1.Documents:只有用戶生成的文件、其他數(shù)據(jù)及其他程序不能重新創(chuàng)建的文件,應(yīng)該保存在/Documents目錄下面,并將通過(guò)iCloud自動(dòng)備份。
2.Library:可以重新下載或者重新生成的數(shù)據(jù)應(yīng)該保存在/Library /caches目錄下面。舉個(gè)例子,比如雜志、新聞、地圖應(yīng)用使用的數(shù)據(jù)庫(kù)緩存文件和可下載內(nèi)容應(yīng)該保存到這個(gè)文件夾。
3.tmp:只是臨時(shí)使用的數(shù)據(jù)應(yīng)該保存在/ tmp 文件夾,tmp目錄不是你程序退出的時(shí)候就清空,是在你內(nèi)存不足的情況系統(tǒng)會(huì)給你清空,看是網(wǎng)絡(luò)緩存的數(shù)據(jù)還是本地存儲(chǔ)的,如果本地存儲(chǔ)你可以放在doc目錄。
盡管iCloud不會(huì)備份這些文件,但在應(yīng)用使用完這些數(shù)據(jù)之后要注意隨時(shí)刪除,避免占用用戶設(shè)備的空間。
//獲取各個(gè)目錄路徑的方法,以Documents為例,Library,tmp類似
//方法一
//1、取得Documents路徑的方法:
-(NSString *)documentFolder{
return [NSHomeDirectory( ) stringByAppendingPathComponent:@"Documents"];
}
//2、取得Documents中某個(gè)文件的路徑:
NSString *path =[ [ self documentFolder]? stringByAppendingPathComponent:@"image.png" ];
//方法二
//1,獲取家目錄路徑的函數(shù):
NSString *homeDir = NSHomeDirectory();
//2,獲取Documents目錄路徑的方法:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString *docDir = [paths objectAtIndex:0];
//3,獲取Caches目錄路徑的方法:
NSArray *paths =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);
NSString *cachesDir = [paths objectAtIndex:0];
//獲取tmp目錄路徑的方法:
NSString *tmpDir = NSTemporaryDirectory();