沙盒機(jī)制

iOS程序默認(rèn)情況下只能訪問(wèn)程序自己的目錄,這個(gè)目錄被稱為“沙盒”。

1.結(jié)構(gòu)

既然沙盒就是一個(gè)文件夾,那就看看里面有什么吧。沙盒的目錄結(jié)構(gòu)如下:

"應(yīng)用程序包"
Documents
Library
Caches
Preferences
tmp復(fù)制代碼

2.目錄特性

雖然沙盒中有這么多文件夾,但是沒(méi)有文件夾都不盡相同,都有各自的特性。所以在選擇存放目錄時(shí),一定要認(rèn)真選擇適合的目錄。

"應(yīng)用程序包": 這里面存放的是應(yīng)用程序的源文件,包括資源文件和可執(zhí)行文件。

NSString *path = [[NSBundle mainBundle] bundlePath];
NSLog(@"%@", path);復(fù)制代碼
Documents: 最常用的目錄,iTunes同步該應(yīng)用時(shí)會(huì)同步此文件夾中的內(nèi)容,適合存儲(chǔ)重要數(shù)據(jù)。

NSString *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);復(fù)制代碼
Library/Caches: iTunes不會(huì)同步此文件夾,適合存儲(chǔ)體積大,不需要備份的非重要數(shù)據(jù)。

NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
NSLog(@"%@", path);復(fù)制代碼
Library/Preferences: iTunes同步該應(yīng)用時(shí)會(huì)同步此文件夾中的內(nèi)容,通常保存應(yīng)用的設(shè)置信息。

tmp: iTunes不會(huì)同步此文件夾,系統(tǒng)可能在應(yīng)用沒(méi)運(yùn)行時(shí)就刪除該目錄下的文件,所以此目錄適合保存應(yīng)用中的一些臨時(shí)文件,用完就刪除。

NSString *path = NSTemporaryDirectory();
NSLog(@"%@", path);

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容