資料儲存之(一) iOS資料儲存方式及沙盒的說明

2021-07-10 10:21:56 字數 2228 閱讀 4819

ios資料儲存的幾種方式:

1、xml

屬性列表(

plist

)歸檔

2、preference(

偏好設定)

3、nskeyedarchiver歸檔(

nscoding)

4、sqlite3

5、coredata

應用沙盒:

每個ios

應用都有自己的應用沙盒

(應用沙盒就是檔案系統目錄

),與其他檔案系統隔離。

應用必須待在自己的沙盒裡,其他應用不能訪問該沙盒。

應用沙盒的檔案系統目錄,如下圖所示(假設應用的名稱叫

模擬器應用沙盒的根路徑在

是使用者名稱

,7.0

是模擬器版本)

/users/

7.0

沙盒結構分析:

應用程式包:(

上圖中的

layer)

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

documents

:儲存應用執行時生成的

需要持久化的資料

,itunes

同步裝置時

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

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

臨時資料

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

itunes

同步裝置時

不會備份

該目錄。

library/caches

:儲存應用執行時生成的

需要持久化的資料

,itunes

同步裝置時

不會備份

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

library/preference

:儲存應用的所有

偏好設定

,ios

的settings(設定)

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

itunes

同步裝置時

會備份該目錄。

沙盒目錄的獲取方式:

沙盒根目錄

:nsstring *home =

nshomedirectory

();

documents:(2

種方式)

利用沙盒根目錄拼接

」documents」

字串。nsstring *home =

nshomedirectory

();

nsstring

*documents = [

home

:@"documents"];

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

nssearchpathfordirectoriesindomains函式

// nsuserdomainmask

代表從使用者資料夾下找 /

/ yes

代表展開路徑中的波浪字

符「~」

nsarray

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

// 在ios

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

nsstring

*documents = [array objectatindex:0];

ltmp

:nsstring

*tmp

= nstemporarydirectory

();

library/caches:(

跟documents

類似的2

種方法)

利用沙盒根目錄拼接

」caches」

字串 利用nssearchpathfordirectoriesindomains函式(

將函式的第

2個引數改為:

nscachesdirectory

即可)。

library/preference

:通過nsuserdefaults

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

ios 資料儲存方式

今天發現一篇好文章,忍不住收藏下來 所謂的持久化,就是將資料儲存到硬碟中,使得在應用程式或機器重啟後可以繼續訪問之前儲存的資料。在ios開發中,有很多資料持久化的方案,接下來我將嘗試著介紹一下5種方案 在介紹各種儲存方法之前,有必要說明以下沙盒機制。ios程式預設情況下只能訪問程式自己的目錄,這個目...

iOS 資料儲存方式一之plist檔案儲存

plist檔案,實際上也就是xml檔案。ios開發中,對於一些小型的資料儲存,可以用到plist檔案儲存。plist儲存能存nsarray nsdictionary等,一般能寫出writetofile 這個方法的物件都可以使用plist儲存,存放的路徑一般在沙盒的document檔案目錄下。plis...

iOS中資料儲存方式

首先我們來了解一下ios中資料儲存有哪些方式 xml 屬性列表 plist 歸檔 plist 全名是 property list,屬性列表檔案。它是一種用來儲存序列化後的物件的檔案。屬性列表檔案的擴充套件名為 plist,因此通常被稱為 plist 檔案。檔案是 xml格式的。它是以 key val...