iOS持久化存儲(chǔ)方案

概要

iOS常用的持久化存儲(chǔ)方案一般有:NSUserDefault、Keychain,File,數(shù)據(jù)庫(kù)等幾種方案。

NSUserDefault

  • 應(yīng)用范圍:應(yīng)用程序配置信息,小規(guī)模的數(shù)據(jù)

Keychain

File

包括plist,archive,stream等幾種

  • plist:結(jié)構(gòu)化的數(shù)據(jù),方便查詢
  • Archive:不常用但大量的數(shù)據(jù),或讀取后希望直接對(duì)象化的數(shù)據(jù),因?yàn)锳rchive會(huì)將對(duì)象及其對(duì)象關(guān)系序列化,以至于讀取數(shù)據(jù)的時(shí)候需要Decode很花時(shí)間,Decode的過(guò)程可以是解壓,也可以是對(duì)象化,這個(gè)可以根據(jù)具體<NSCoding>
    中的實(shí)現(xiàn)來(lái)決定。
  • Stream:一般的文件存儲(chǔ),如圖片等,適合于經(jīng)常使用,但數(shù)據(jù)量又不是很大的。
NSUserDefault和plist的異同
    • NSUserDefault:少量數(shù)據(jù),是對(duì)Plist文件的封裝,應(yīng)用程序配置信息如用戶登錄后的偏好設(shè)置
    • plist:下載好的量大的數(shù)據(jù)
    • 實(shí)質(zhì)都是plist,只能存取特定類型的數(shù)據(jù):NSData, NSString, NSNumber, NSDate, NSArray, NSDictionary.如果想要存儲(chǔ)其它類型,需要將打包成NSData類型。

數(shù)據(jù)庫(kù)

包括基于數(shù)據(jù)庫(kù)的SQLite、CoreData。

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容