真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

【Objective-C】OC中對(duì)象歸檔(序列化)的基本概念和用法

概念:歸檔是把對(duì)象寫(xiě)入文件保存在硬盤(pán)中,當(dāng)再次重新打開(kāi)程序時(shí),可以還原這些對(duì)象。

網(wǎng)站設(shè)計(jì)制作過(guò)程拒絕使用模板建站;使用PHP+MYSQL原生開(kāi)發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺(tái)管理系統(tǒng);網(wǎng)站制作、網(wǎng)站設(shè)計(jì)收費(fèi)合理;免費(fèi)進(jìn)行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運(yùn)營(yíng)了10多年的成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。

數(shù)據(jù)持久化的方法:

1:NSKeyedArchiver-對(duì)象歸檔

2:NSUserDefaults

3:屬性列表化(NSArray,NSDictonary保存文件)

4:SQlite數(shù)據(jù)庫(kù),CoreData數(shù)據(jù)庫(kù)

歸檔的形式

1:對(duì)Foundation庫(kù)中對(duì)象進(jìn)行歸檔

2:自定義對(duì)象進(jìn)行規(guī)定(需要實(shí)現(xiàn)歸檔協(xié)議,NSCoding)

3:歸檔后的文件是加密的,屬性列表是明文的


實(shí)例

(一):使用數(shù)組為例,實(shí)現(xiàn)數(shù)組的歸檔和還原

     主要用到一下兩個(gè)類(lèi):(NSKeyedArchiver與NSKeyedUnarchiver)的方法

     (1):+ (BOOL)archiveRootObject:(id)rootObject toFile:(NSString *)path; //進(jìn)行把對(duì)象歸檔到文件當(dāng)中去

   (2):+ (id)unarchiveObjectWithFile:(NSString *)path;   //根據(jù)文件的路徑進(jìn)行還原內(nèi)容

     看下面代碼:

#import     

#import int main(int argc,constchar* argv[]){@autoreleasepool{NSArray*array=@[@"abc",@"123",@5678];NSString*homePath=NSHomeDirectory();NSString*srcPath=[homePath stringByAppendingPathComponent:@"/Desktop/array.archiver"];         BOOL success=[NSKeyedArchiver archiveRootObject:array toFile:srcPath];if(success){    NSLog(@"歸檔成功.");}//進(jìn)行還原NSArray*resultArray=[NSKeyedUnarchiver unarchiveObjectWithFile:srcPath];NSLog(@"%@",resultArray);}return0;}

【Objective-C】OC中對(duì)象歸檔(序列化)的基本概念和用法

自定義內(nèi)容歸檔:

       歸檔:1:使用NSData實(shí)例作為歸檔的存儲(chǔ)數(shù)據(jù)

               2:添加歸檔的內(nèi)容(設(shè)置key與value) 

               3:完成歸檔,把歸檔的數(shù)據(jù)存入到硬盤(pán)中

       還原數(shù)據(jù):

               1:從硬盤(pán)中讀取文件,生成NSData實(shí)例

               2:根據(jù)Data實(shí)例進(jìn)行創(chuàng)建和初始化還原歸檔文件實(shí)例

               3:還原文件,根據(jù)key去訪(fǎng)問(wèn)相應(yīng)的value值


實(shí)例:使用自定義數(shù)據(jù)類(lèi)型進(jìn)行歸檔并且還原數(shù)據(jù),看下實(shí)現(xiàn)代碼:

      

#import int main(int argc,constchar* argv[]){@autoreleasepool{//進(jìn)行自定義對(duì)象寫(xiě)入歸檔NSString*homePath=NSHomeDirectory();NSString*srcPath=[homePath stringByAppendingPathComponent:@"/Desktop/custom.archiver"];NSMutableData*data=[NSMutableData data];NSKeyedArchiver*archiver=[[NSKeyedArchiver  alloc]initForWritingWithMutableData:data];[archiver encodeInt:100 forKey:@"key1"];NSArray*arrary=[NSArray arrayWithObjects:@"tom",@"jack", nil];[archiver encodeObject:arrary forKey:@"key2"];[archiver finishEncoding];[archiver release];        BOOL success=[data writeToFile:srcPath atomically:YES];if(success){    NSLog(@"寫(xiě)入成功...");}     //進(jìn)行還原數(shù)據(jù)NSData*content=[NSData dataWithContentsOfFile:srcPath];NSKeyedUnarchiver*unarchiver=[[NSKeyedUnarchiver alloc]initForReadingWithData:content];NSUInteger result1=[unarchiver decodeIntForKey:@"key1"];NSArray*result2=[unarchiver decodeObjectForKey:@"key2"];NSLog(@"還原的數(shù)據(jù)為:");NSLog(@"key1= %ld ",result1);NSLog(@"key2= %@",result2);}return0;}

   【Objective-C】OC中對(duì)象歸檔(序列化)的基本概念和用法


網(wǎng)頁(yè)標(biāo)題:【Objective-C】OC中對(duì)象歸檔(序列化)的基本概念和用法
當(dāng)前路徑:http://weahome.cn/article/jhcjsc.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部