ios開(kāi)發(fā)]數(shù)據(jù)持久化 數(shù)據(jù)持久化概念的描述

ios開(kāi)發(fā)中數(shù)據(jù)持久化有哪幾種,分別什么時(shí)間使用

1、SQLite 3,使用數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ);CoreData,它提供了對(duì)象-關(guān)系映射(ORM)的功能,即能夠?qū)C對(duì)象轉(zhuǎn)化成數(shù)據(jù),保存在SQLite數(shù)據(jù)庫(kù)文件中,也能夠?qū)⒈4嬖跀?shù)據(jù)庫(kù)中的數(shù)據(jù)還原成OC對(duì)象。

在文昌等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專(zhuān)注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷(xiāo)推廣,外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè),文昌網(wǎng)站建設(shè)費(fèi)用合理。

2、Library/Caches : 保存應(yīng)用運(yùn)行時(shí)成的需要持久化的數(shù)據(jù),iTunes同步設(shè)備時(shí)不會(huì)備份 該目錄。

3、對(duì)于數(shù)據(jù)的持久化存儲(chǔ),ios中一般提供了4種不同的機(jī)制。屬性列表 對(duì)象歸檔 數(shù)據(jù)庫(kù)存儲(chǔ)(SQLite3)蘋(píng)果公司提供的持久性工具Core Data。

4、MMKV是微信開(kāi)源的數(shù)據(jù)持久化框架,現(xiàn)在已經(jīng)支持Android/iOS/PC 平臺(tái)。該框架是基于mmap映射內(nèi)存的key—value組件,使用protobuf實(shí)現(xiàn)數(shù)據(jù)的序列化和反序列化,性能高,穩(wěn)定性強(qiáng)。微信在2015就在微信應(yīng)用上使用了該框架。

ios數(shù)據(jù)的持久化存儲(chǔ)方式有哪些

屬性列表 對(duì)象歸檔 數(shù)據(jù)庫(kù)存儲(chǔ)(SQLite3)蘋(píng)果公司提供的持久性工具Core Data。其實(shí)儲(chǔ)存的形式無(wú)非就這么幾種,而我們還必須要關(guān)心的是,這些文件會(huì)被放置在那個(gè)文件下,然后如何讀取。

解檔: (別人也叫反歸檔),就是將數(shù)據(jù)從文件里面讀取出來(lái)。在程序里面使用。

iOS本地化存儲(chǔ)的數(shù)據(jù)保存在沙盒中。(1) Documents :iTunes會(huì)備份該目錄。一般用來(lái)存儲(chǔ)需要持久化的數(shù)據(jù)。(2) Library/Caches :緩存,iTunes不會(huì)備份該目錄。內(nèi)存不足時(shí)會(huì)被清除,應(yīng)用沒(méi)有運(yùn)行時(shí),可能會(huì)被清除。

iOS歸檔,NSCoding協(xié)議

歸檔是將數(shù)據(jù)持久化的一種方式,一般針對(duì)于比較復(fù)雜對(duì)象,比如自定義的對(duì)象,來(lái)進(jìn)行數(shù)據(jù)持久化操作。歸檔的對(duì)象需要遵循NSCoding協(xié)議,存儲(chǔ)的時(shí)候調(diào)用encodeWithCoder:方法,讀取的時(shí)候調(diào)用initWithCoder:方法。

在進(jìn)行自定義對(duì)象的歸檔時(shí)需要實(shí)現(xiàn)NSCoding協(xié)議,不實(shí)現(xiàn)協(xié)議方法則拋出異常,類(lèi)似于序列化與反序列話,獲得的對(duì)象都是不一致的。在Java中可以做到對(duì)象的一致性,有serializableUID的概念,在iOS不知如何做到,知道的可以告知。

然,復(fù)雜數(shù)據(jù)例如UIImage,無(wú)法直接歸檔。但我們有一種變通的做法,先將UIImage對(duì)象轉(zhuǎn)換為NSData,再對(duì)NSData進(jìn)行歸檔。1 注1:準(zhǔn)確地說(shuō),這依賴于iOS的版本。

第一步:要將數(shù)組中的對(duì)象需要遵循 NSCoding 協(xié)議,實(shí)現(xiàn)協(xié)議中的兩個(gè)方法。第二步:通過(guò) NSKeyedArchive 進(jìn)行快速歸檔,它會(huì)自動(dòng)寫(xiě)到文件中,讀取可以使用 NSKeyedUnarchiver 來(lái)解壓代碼例子在網(wǎng)上都能找到。

NSKeyedArchiver:采用歸檔的形式來(lái)保存數(shù)據(jù),該數(shù)據(jù)對(duì)象需要遵守NSCoding協(xié)議,并且該對(duì)象對(duì)應(yīng)的類(lèi)必須提供encodeWithCoder:和initWithCoder:方法。

ios中的持久化操作方式有哪些

屬性列表 對(duì)象歸檔 數(shù)據(jù)庫(kù)存儲(chǔ)(SQLite3)蘋(píng)果公司提供的持久性工具Core Data。其實(shí)儲(chǔ)存的形式無(wú)非就這么幾種,而我們還必須要關(guān)心的是,這些文件會(huì)被放置在那個(gè)文件下,然后如何讀取。

歸檔是將數(shù)據(jù)持久化的一種方式,一般針對(duì)于比較復(fù)雜對(duì)象,比如自定義的對(duì)象,來(lái)進(jìn)行數(shù)據(jù)持久化操作。歸檔的對(duì)象需要遵循NSCoding協(xié)議,存儲(chǔ)的時(shí)候調(diào)用encodeWithCoder:方法,讀取的時(shí)候調(diào)用initWithCoder:方法。

MMKV是微信開(kāi)源的數(shù)據(jù)持久化框架,現(xiàn)在已經(jīng)支持Android/iOS/PC 平臺(tái)。該框架是基于mmap映射內(nèi)存的key—value組件,使用protobuf實(shí)現(xiàn)數(shù)據(jù)的序列化和反序列化,性能高,穩(wěn)定性強(qiáng)。微信在2015就在微信應(yīng)用上使用了該框架。

iOS中常用的幾種持久化存儲(chǔ)

1、數(shù)據(jù)庫(kù)存儲(chǔ)(SQLite3)蘋(píng)果公司提供的持久性工具Core Data。其實(shí)儲(chǔ)存的形式無(wú)非就這么幾種,而我們還必須要關(guān)心的是,這些文件會(huì)被放置在那個(gè)文件下,然后如何讀取。

2、iOS本地化存儲(chǔ)的數(shù)據(jù)保存在沙盒中。(1) Documents :iTunes會(huì)備份該目錄。一般用來(lái)存儲(chǔ)需要持久化的數(shù)據(jù)。(2) Library/Caches :緩存,iTunes不會(huì)備份該目錄。內(nèi)存不足時(shí)會(huì)被清除,應(yīng)用沒(méi)有運(yùn)行時(shí),可能會(huì)被清除。

3、解檔: (別人也叫反歸檔),就是將數(shù)據(jù)從文件里面讀取出來(lái)。在程序里面使用。

網(wǎng)頁(yè)標(biāo)題:ios開(kāi)發(fā)]數(shù)據(jù)持久化 數(shù)據(jù)持久化概念的描述
網(wǎng)頁(yè)路徑:http://muchs.cn/article20/dihpoco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、靜態(tài)網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)品牌網(wǎng)站建設(shè)、品牌網(wǎng)站制作、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)