沙盒的介紹

2021-07-26 14:58:56 字數 2848 閱讀 4657

l

應用程式包

(上圖中的

layer)

包含了所有的資源檔案和可執行檔案

ldocuments:儲存應用執行時生成的

需要持久化的資料

,itunes

同步裝置時

會備份該目錄。例如,遊戲應用可將遊戲存檔儲存在該目錄l

ltmp:儲存應用執行時所需的

臨時資料

,使用完畢後再將相應的檔案從該目錄刪除。應用沒有執行時,系統也可能會清除該目錄下的檔案。

itunes

同步裝置時

不會備份

該目錄l l

library/caches:儲存應用執行時生成的

需要持久化的資料

,itunes

同步裝置時

不會備份

該目錄。一般儲存體積大、不需要備份的非重要資料l

llibrary/preference:儲存應用的所有

偏好設定

,ios

的settings(設定)

應用會在該目錄中查詢應用的設定資訊。

itunes

同步裝置時

會備份該目錄

l沙盒根目錄

nsstring *home =

nshomedirectory(); l

documents

(2種方式)

u利用沙盒根目錄拼接

」documents」

字串

nsstring *home =

nshomedirectory();

nsstring

*documents = [

home

:@"documents"];//

不建議採用,因為新版本的作業系統可能會修改目錄名u利用

nssearchpathfordirectoriesindomains函式

// nsuserdomainmask

代表從使用者資料夾下找

// yes

代表展開路徑中的波浪字

符「~」

nsarray

*array =  nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, no);//

在ios

中,只有乙個目錄跟傳入的引數匹配,所以這個集合裡面只有乙個元素

nsstring

*documents = [array objectatindex:0];

ltmp

:nsstring

*tmp

=nstemporarydirectory

(); l

llibrary/caches:(

跟documents

類似的2

種方法) u

利用沙盒根目錄拼接

」caches」

字串 u利用

nssearchpathfordirectoriesindomains函式(

將函式的第

2個引數改為:

nscachesdirectory即可)

u llibrary/preference

:通過nsuserdefaults

類訪問該目錄下的設定資訊 l

如果物件是

nsstring

、nsdictionary

、nsarray

、nsdata

、nsnumber

等型別,

可以直接用

nskeyedarchiver

進行歸檔和恢復 l

不是所有的物件都可以直接用這種方法進行歸檔,只有遵守了

nscoding

協議的物件才可以 l

nscoding

協議有2

個方法: u

encodewithcoder:

每次歸檔物件時,都會呼叫這個方法。一般在這個方法裡面指定如何歸檔物件中的每個例項變數,可以使用

encodeobject:forkey:

方法歸檔例項變數

uinitwithcoder:

每次從檔案中恢復(解碼

)物件時,都會呼叫這個方法。一般在這個方法裡面指定如何解碼檔案中的資料為物件的例項變數,可以使用

decodeobject:forkey

方法解碼例項變數

@implementation person

- (void)

encodewithcoder

:(nscoder

*)encoder

- (id)

initwithcoder

:(nscoder

*)decoder

- (void)

dealloc

@endl使用

archiverootobject:tofile

:方法可以將乙個物件直接寫入到乙個檔案中,但有時候可能想將多個物件寫入到同乙個檔案中,那麼就要使用

nsdata

來進行歸檔物件 l

nsdata

可以為一些資料提供臨時儲存空間,以便隨後寫入檔案,或者存放從磁碟讀取的檔案內容。可以使用

[nsmutabledata

data]

建立可變資料空間

沙盒目錄介紹

沙盒目錄的介紹 documents 2.icloud會自動備份document中的所有檔案 tmp1.臨時資料夾,儲存臨時檔案。2.儲存在tmp資料夾中的檔案,系統會自動 譬如磁碟空間緊張或者重新啟動手機。3.程式設計師不需要管tmp資料夾中的釋放。caches 2.快取目錄中的檔案系統不會自動刪除...

沙盒Sandbox介紹

每乙個應用程式都會有乙個這樣的沙盒檔案 下面詳細介紹如何獲取沙盒中的檔案路徑 內容的一種方式 第一種方式 新增檔案時選 create groups 時 方法一獲取 方法二獲取 nsstring path11 nsbundle mainbundle pathforresource pic1.png o...

沙盒目錄介紹

根目錄 nshomedirectory documents nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes lastobject library caches nssearchpathfordi...