iOS程序默認(rèn)情況下只能訪問程序自己的目錄嫩絮,這個(gè)目錄被稱為“沙盒”。
1.結(jié)構(gòu)
既然沙盒就是一個(gè)文件夾迁央,那就看看里面有什么吧呻澜。沙盒的目錄結(jié)構(gòu)如下:
"應(yīng)用程序包"
Documents
Library
Caches
Preferences
tmp復(fù)制代碼
2.目錄特性
雖然沙盒中有這么多文件夾,但是沒有文件夾都不盡相同涂臣,都有各自的特性盾计。所以在選擇存放目錄時(shí),一定要認(rèn)真選擇適合的目錄赁遗。
"應(yīng)用程序包": 這里面存放的是應(yīng)用程序的源文件署辉,包括資源文件和可執(zhí)行文件。
NSString *path = [[NSBundle mainBundle] bundlePath];
NSLog(@"%@", path);復(fù)制代碼
Documents: 最常用的目錄岩四,iTunes同步該應(yīng)用時(shí)會同步此文件夾中的內(nèi)容哭尝,適合存儲重要數(shù)據(jù)。
NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);復(fù)制代碼
Library/Caches: iTunes不會同步此文件夾剖煌,適合存儲體積大材鹦,不需要備份的非重要數(shù)據(jù)。
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);復(fù)制代碼
Library/Preferences: iTunes同步該應(yīng)用時(shí)會同步此文件夾中的內(nèi)容耕姊,通常保存應(yīng)用的設(shè)置信息桶唐。
tmp: iTunes不會同步此文件夾,系統(tǒng)可能在應(yīng)用沒運(yùn)行時(shí)就刪除該目錄下的文件茉兰,所以此目錄適合保存應(yīng)用中的一些臨時(shí)文件尤泽,用完就刪除。
NSString *path = NSTemporaryDirectory();
NSLog(@"%@", path);