ios有很多資料持久化技術,包括傳統的資料庫,但也有一些較新的技術,它主要的持久化技術有:資料庫、屬性列表、物件歸檔和。本節將分別介紹這四種持久化方式,輔助本文在設計與實現中針對不同的需求選擇合適的資料持久化方式。
資料庫技術被廣泛的使用在各大系統中,資料庫也是乙個系統的核心部分,資料庫管理系統如今發展已經很成熟,主要有:sqlite、oracle、mysql等。資料庫技術的使用也是每個程式應該掌握的,它能讓系統實現對資料的持久化等操作。
ios支援對資料庫的訪問,系統中已經內建了乙個資料庫,既sqlite嵌入式資料庫,是關聯式資料庫管理系統,它被包含在乙個輕量級別的語言庫中,也是乙個開源專案。它支援大多數的標準,包括事務,既原子性、一致性、隔離線和永續性,還支援觸發器和多數的複雜查詢,意味著sql語言在sqlite上也可使用,實現對資料的持久化,實現資料的crud(create增加、retrieve讀取、update更新、delete刪除)操作。
ios中屬性列表是字尾為plist一種儲存資料的檔案,plist檔案是一種常見的應用程式設定和首選項的儲存策略,也是終端資料持久化的一種方式。它的使用非常方便,在xcode中可以直接開啟和編輯plist檔案,可以用plist檔案儲存任意文字、數值,甚至是序列化物件。序列化物件是能夠轉換為位元組流得oc物件,包括:nsmutablearray、nsarray、nsdictionary、nsmutabledictionary、nsdata 等[3]。值得注意的是,在使用plist持久化應用資料時,序列化物件必須是剛才所指定的oc類,簡單型別、結構、自定義類和非文中未提及的oc類是不能被序列化到plist檔案中。
ios物件歸檔是cocoa中有另一種物件序列化(編碼/反編碼)技術,正如上文所述,plist能序列化的類有限,自定義物件和自定義資料型別此時是無法序列化到plist檔案中。但使用歸檔技術則可以將任何型別物件寫入檔案,從實現資料的持久化,物件只需對應文件物件實現nscoding協議即可,nscoding協議通過方法來對物件進行編碼,用方法來實現解碼,兩方法的引數均nscoder物件。
iOS 資料持久化 Plist
獲取plist檔案位址 nsstring path nsbundle mainbundle pathforresource people oftype plist 獲取plist檔案內容 乙個字典 nsdictionary dict nsdictionary dictionarywithconten...
iOS資料持久化 歸檔
歸檔 序列化 把物件轉為位元組碼,以檔案的形式儲存到磁碟上 程式執行過程中或者當再次開啟程式的時候,可以通過解歸檔 反序列化 還原這些物件。只要遵循了nscoding協議的物件都可以通過它實現序列化,由於絕大多數支援儲存資料的foundation和cocoa touch類都遵循了nscoding協議...
iOS資料持久化方案
在ios開發中,有很多資料持久化的方案,接下來說一下常用的5種方案 plist檔案 屬性列表 preference 偏好設定 nskeyedarchiver 歸檔 sqlite coredata plist檔案是將某些特定的類,通過xml檔案的方式儲存在目錄中。void plist 讀取文字 nss...