IOS 本地儲存 資料持久化

2021-07-06 09:33:03 字數 1704 閱讀 9732

沙盒:其實對於每乙個應用程式,都有唯一的乙個本地檔案與之對應,名字由系統隨機生成.這個檔案就是沙盒

沙盒機制:沙盒機制其實就是,對每乙個應用程式的資源起到乙個保護作用,當前程式不允許訪問其他程式的資源,其他程式也不允許訪問當前程式的資源.

對於每乙個 應用程式的沙盒檔案中都包含以下檔案:

1.documents :用來儲存持久化資料檔案,如果我們想對乙個檔案進行長久存數,就該放在該資料夾下

2/library:

b)prefrences:用於儲存使用者的偏好設定,比如用於判別程式是否是第一次啟動的plist檔案就放在該目錄下

另外,對於以上檔案都是由系統建立,不允許隨意修改,刪除 我們只能刪除,修改自己建立的檔案

//獲取docments檔案路徑

nsstring *docmentspath=[nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)firstobject];

//拼接檔案路徑 兩種方法(這裡的檔案型別也可以.plist檔案)

//1.

//2.

// 寫入

nsstring *str=@"hello";

[str writetofile:filepath atomically:yes encoding:nsutf8stringencoding error:nil];

這樣就可以將字串型別的的資料存進test.txt這個檔案中了;

將字典儲存成plist檔案 方法同上

//獲取docments檔案路徑

nsstring *docmentspath=[nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)firstobject];

//字典

//先將要存入的字典 建立好並且賦值

nsdictionary *dic=@;

// 檔案拼接

//

//寫入

//[dic writetofile:filepath atomically:yes];

data檔案和 nsarray 型別的資料同字典一樣

//data

nsdata*data=[str1 datausingencoding:nsutf8stringencoding];

//檔案拼接

//寫入

[data writetofile:filepath atomically:yes];

本地資料讀取

1.獲取檔案路徑

// 獲取docment路徑

nsstring *docmentspath=[nssearchpathfordirectoriesindomains(nsdocumentdirectory, nsuserdomainmask, yes)firstobject];

// 拼接檔案路徑(找到dic.plist檔案)

//讀取(定義乙個字典去接收它)

nsdictionary *dic=[nsdictionary dictionarywithcontentsoffile:filepath];

這樣我們得到的字典dic就是之前存進去的字典了.

vuex與本地儲存,持久化儲存

在vuex的時候 重新整理以後裡面儲存的state就會被瀏覽器釋放掉,因為我們的state都是儲存在記憶體中的,所以一重新整理頁面就會把state中的資料重置,這就涉及到vue資料持久化的問題。在vuex中使用subscribe和plugins來實現本地儲存與vuex相關聯,實現vuex持久儲存 具...

Ios本地儲存(筆記)

乙個應用程式包含以下三個檔案 nsbundle 包 nsbundle資料夾 用來儲存建立工程時候,或者是開發時候所新增的檔案和 也就是工程中左面所有多東西 在 執行的過程中,裡面的所有東西是全都不能修改。documents資料夾 儲存的是在整個應用程式生命週期內一直存在的內容 5g以內 libray...

iOS中本地儲存

用於儲存建立工程時 開發過程中 所新增的檔案或 等所有內容 開發過程中可以修改資料夾的內容 在執行過程中不可以修改 2 documents 在整個應用程式的生命週期內 將程式的資料存到蘋果官方的資料中 一般儲存資料庫 3 library 存放快取 4tmp 臨時性儲存 向本地儲存資料的過程 系統自帶...