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...