iOS 資料持久化的方式總結

2021-09-25 16:36:20 字數 1461 閱讀 8802

一.屬性列表, 可以通過nsarray, nsdictionary等等的writetofile 方法寫入乙個plist 檔案中, 持久保持屬性

沙盒中的資料夾:  

1.documents : 儲存長久儲存的資料

2.library :

preferences : 儲存偏好設定, 比如: 應用程式是否是第一次執行, 儲存使用者名稱和密碼,

資料持久化方式:

1.(最簡單) nsuserdefaults; 只適合儲存少量資料, 比如賬號, 密碼;

2.讀寫檔案, 只支援八種資料, nsstring; nsarray, nsdictionary ,二進位制 --- nsdata 以及各自的可變子類

vip

對於陣列, 字典大容器deng, 想要實現檔案讀寫, 必須要保證檔案中的元素也必須是 陣列, 字串, 字典, 二進位制資料等資料型別之一;

二.歸檔, 通過 archive 物件對資料你進行歸檔處理, 其過程比較傲複雜, 歸檔後檔案文 .archive 檔案, 是乙個二進位制二年間, 無法檢視, 需要用nsunarchive 解檔操作才能檢視

//獲取路徑的方法

- (nsstring*)getfilepath

//1.建立歸檔工具物件

nsmutabledata*mydata = [nsmutabledatadata];

nskeyedarchiver*archiver = [[nskeyedarchiveralloc]initforwritingwithmutabledata:mydata];

//2.開始歸檔

[archiver encodeobject:contact forkey:@"tao"];

//3.結束歸檔

[archiver finishencoding];

//4.記憶體釋放

寫入檔案

[mydata writetofile:[selfgetfilepath] atomically:yes];

//反歸檔

//1.從本地讀資料

nsdata*data = [nsdatadatawithcontentsoffile:[selfgetfilepath]];

//2.建立反歸檔工具

nskeyedunarchiver*unarchiver = [[nskeyedunarchiveralloc]initforreadingwithdata:data];

//3.開展反歸檔

contact*contact = [unarchiver decodeobjectforkey:@"tao"];

//4.反歸檔結束

[unarchiver finishdecoding];

//釋放

三.利用sqlite, 建議不直接操作sqlite庫,而是採用一些第三方庫運算元據庫. 例如 fmdb

四.coredata對資料進行持久化儲存, 本質上是使用sqlite儲存資料,但是它不需要編寫任何sql語句。

iOS 資料持久化方式 歸檔 反歸檔

那麼ios的資料化持久方式有哪些呢?1 屬性列表 plist檔案 nsuserdefault 2 歸檔 nskeyedarchiver 3 資料庫 sqlite,coredata,fmdb 第三方 今天重點說下歸檔和結檔的問題 歸檔的三種方式 1 對foundation框架的物件進行歸檔 2 對自定...

iOS終端資料持久化

ios有很多資料持久化技術,包括傳統的資料庫,但也有一些較新的技術,它主要的持久化技術有 資料庫 屬性列表 物件歸檔和。本節將分別介紹這四種持久化方式,輔助本文在設計與實現中針對不同的需求選擇合適的資料持久化方式。資料庫技術被廣泛的使用在各大系統中,資料庫也是乙個系統的核心部分,資料庫管理系統如今發...

iOS 資料持久化 Plist

獲取plist檔案位址 nsstring path nsbundle mainbundle pathforresource people oftype plist 獲取plist檔案內容 乙個字典 nsdictionary dict nsdictionary dictionarywithconten...