国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

iOS初級數(shù)據(jù)持久化

2019-11-14 19:02:56
字體:
來源:轉載
供稿:網(wǎng)友

數(shù)據(jù)持久化

什么是數(shù)據(jù)持久化?

數(shù)據(jù)的永久存儲

為什么要做數(shù)據(jù)持久化:;存儲在內(nèi)存中的數(shù)據(jù),程序關閉,內(nèi)存釋放,數(shù)據(jù)丟失,這種數(shù)據(jù)是臨時的

數(shù)據(jù)持久化的本質:數(shù)據(jù)保存成文件,存儲到程序的沙盒中

 

一、沙盒機制

每個應用程序位于文件系統(tǒng)的嚴格限制部分

每個應用程序只能在為該程序創(chuàng)建的文件系統(tǒng)中讀取文件

每個應用程序在iOS系統(tǒng)內(nèi)都放在了統(tǒng)一的文件夾目錄下

沙盒的本質就是一個文件夾,名字是隨機分配的,按照UUID標示符標記分配的

沙盒路徑的位置

1、通過Finder查找程序沙盒相對路徑

~/Library/application Support/iphone Simulator 

常見問題

模擬器路徑內(nèi)有可能包含多個系統(tǒng)版本的路徑

iPhone5及以前版本 32

iPhone5s 64

 

沙盒構成

Document   存儲用戶數(shù)據(jù),需要備份的信息

Library/Caches  存儲緩存文件,程序專用的支持文件

Library/PReferences 存儲應用程序的偏好設置文件

.app     程序包(iOS時, app不存儲在沙河中,有單獨的文件夾存儲所有程序的app包)

tmp      存儲臨時文件。比如:下載的zip包,解壓后的再刪除

 

通過代碼查找程序沙盒相對路徑

獲取沙盒目錄路徑的方法

NSHomeDirectory              沙盒主路徑

NSDocumentDirectory        Documents文件夾

NSLibraryDirectory             Library 文件夾

NSCachesDiectory              Caches 文件夾

NSTemporaryDirectory        temp文件夾

 

 每個應用程序文件夾內(nèi)的app文件路徑的獲取

路徑打印結果如下:

 

二、簡單對象寫入文件

文件存儲的相對目錄

字符串對象寫入文件

 

1、字符串對象寫入文件 

2、數(shù)組對象寫入文件

3、字典對象寫入文件

4、二進制對象寫入文件

 

根據(jù)構造出的路徑我們通過查找就可以在文件內(nèi)看到生成的相應文件,如下:

 

數(shù)組和字典中的對象類型必須是上述四種

 

三、使用NSFileManager來管理文件

 

NSFileManager,文件管理,使用detaultManager,創(chuàng)建單例對象

可以創(chuàng)建文件夾

可以創(chuàng)建、移動、復制、刪除文件

可以判斷文件是否存在

具體步驟如下:

四、復雜對象寫入文件

   

什么是復雜對象

1、在Foundation框架內(nèi)不存在的數(shù)據(jù)類

2、無法在程序內(nèi)通過writeToFile類型的方法寫入到文件內(nèi)

3、復雜對象至少包含一個實例對象

復雜對象怎么進行數(shù)據(jù)持久化,這就涉及到歸檔和反歸檔

復雜對象無法通過writeToFile:方法進行數(shù)據(jù)持久化,只能通過將復雜對象轉換為NSData,通過writeToFile:進行數(shù)據(jù)持久化

通過歸檔,將復雜對象轉換為NSData;通過反歸檔,將NSData轉換為復雜對象

復雜對象寫入文件時要遵守NSCoding 協(xié)議

 

例如我們建立一個Person類,使其接受NSCoding協(xié)議,同時創(chuàng)建一些Person屬性

 

 

在對復雜對象進行歸檔時,執(zhí)行下面方法

 

在對復雜對象反歸檔時,執(zhí)行下面的方法

 

復雜對象寫入文件(歸檔和反歸檔)

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 遵义市| 新郑市| 安仁县| 湘乡市| 双流县| 香河县| 正宁县| 昌吉市| 仪陇县| 泸州市| 抚顺县| 门源| 河北省| 尚志市| 绥中县| 黔东| 阿图什市| 宁津县| 房产| 海原县| 靖西县| 杂多县| 磐石市| 岳西县| 三原县| 界首市| 莱芜市| 宜兴市| 哈尔滨市| 上饶市| 弥渡县| 历史| 仁怀市| 句容市| 渭南市| 临猗县| 云霄县| 广昌县| 天长市| 二连浩特市| 钟山县|