iOS中的沙盒及對沙盒內檔案的常見操作

2021-07-09 09:13:45 字數 2072 閱讀 8464

資料持久化:資料的永久儲存

資料持久化的本質是講資料儲存到檔案中.

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儲存程式的預設...