資料持久化:資料的永久儲存
資料持久化的本質是講資料儲存到檔案中.
ios當中,檔案儲存到沙盒中
對每乙個程式建立乙個沙盒,給他的檔案系統,還有資源以嚴格的限制.
每個程式只能在為改程式建立的檔案系統中讀取檔案
沙盒的本質是資料夾,名字是統一分配的
每個應用程式在ios系統下都放在了乙個統一的資料夾內
1 . 沙盒的四個路徑
1.1列印該程式的根路徑
nslog(
@"%@"
, nshomedirectory());
nsstring
*docpath = nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask,
yes)[0];
1.3獲取
cache
資料夾路徑
nsstring
*cachepath = nssearchpathfordirectoriesindomains(nscachesdirectory, nsuserdomainmask,
yes)[0];
1.4獲取臨時資料夾路徑
nsstring *temppath = nstemporarydirectory();
2.1 . 簡單物件的儲存 (字串,陣列,字典)
以字典為例
// 字典的儲存
nsdictionary *dict = @;
個人資訊
.plist"];
[dict writetofile:dictpath atomically:yes];
nsdictionary *resudict = [[nsdictionary
alloc] initwithcontentsoffile:dictpath];
for (nsstring *key in resudict)
2.2 複雜物件的儲存
// nsdata的儲存
nsstring *str = @"
天乾物燥
,小心火燭";
nsdata
*data = [str datausingencoding:nsutf8stringencoding];
// data的寫入
[data writetofile:datapath atomically:yes];
nslog(@"%@", datapath);
// data的讀取
nsdata *resudata = [nsdata
datawithcontentsoffile:datapath];
nsstring
*s = [[
nsstring
alloc] initwithdata:resudata encoding:nsutf8stringencoding];
nslog
(@"s ------ %@", s);
3.1 檔案管理器 --- 對沙盒內的檔案和資料夾進行管理(新增,修改,刪除,移動)
首先宣告
nsfilemanager的manager
屬性,並將其初始化
_manager
= [[nsfilemanager
alloc
] init];
3.1.1 建立資料夾
3.1.2 向已有的資料夾內新增檔案 (field.text是資料夾名,field.text是檔名)
3.1.3 移動,修改檔案
3.1.4 刪除檔案
iOS 獲取沙盒檔案路徑及 寫入 刪除 沙盒檔案
一 沙盒中幾個主要的目錄 每個沙盒下面都有相似的目錄結構,如下圖所示 出自蘋果官方文件 每個應用的沙盒目錄都是相似的,主要包含圖中所示的4個目錄 存放內容 該目錄包含了應用程式本身的資料,包括資源檔案和可執行檔案等。程式啟動以後,會根據需要從該目錄中動態載入 或資源到記憶體,這裡用到了lazy lo...
iOS中的沙盒路徑
iphone沙箱模型的有四個資料夾,分別是什麼,永久資料儲存一般放在什麼位置,得到模擬器的路徑的簡單方式是什麼.nshomedirectory 手動儲存的檔案在documents檔案裡 nsuserdefaults儲存的檔案在tmp資料夾裡 1 documents 目錄 您應該將所有 de應用程式資...
ios沙盒的應用
ios中,編輯器為每乙個應用程式都開了乙個沙盒,使得程式只能訪問本應用程式內的檔案,而不能訪問應用程式外部的檔案,是ios的閉源體現點 沙盒的內部有3個資料夾,document蘋果建議將程式中瀏覽到的資料夾的資料儲存到該目錄下 itunes備份和恢復的時候會包括這個目錄 library儲存程式的預設...