成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解iPhone應(yīng)用開(kāi)發(fā)之?dāng)?shù)據(jù)持久化

移動(dòng)開(kāi)發(fā) iOS
iPhone應(yīng)用開(kāi)發(fā)之?dāng)?shù)據(jù)持久化是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)iphone應(yīng)用中數(shù)據(jù)庫(kù)的使用,具體內(nèi)容來(lái)看詳細(xì)內(nèi)容。

iPhone應(yīng)用開(kāi)發(fā)之數(shù)據(jù)持久化是本文要介紹的內(nèi)容,主要是來(lái)學(xué)習(xí)iphone應(yīng)用數(shù)據(jù)庫(kù)的使用,具體內(nèi)容來(lái)看詳細(xì)內(nèi)容。

1、plist

局限性:只有它支持的數(shù)據(jù)類型可以被序列化,存儲(chǔ)到plist中。無(wú)法將其他Cocoa對(duì)象存儲(chǔ)到plist,更不能將自定義對(duì)象存儲(chǔ)。

支持的數(shù)據(jù)類型:Array,Dictionary,Boolean,Data,Date,Number和String.如圖:

詳解iPhone應(yīng)用開(kāi)發(fā)之?dāng)?shù)據(jù)持久化

xml文件 數(shù)據(jù)類型截圖~其中基本數(shù)據(jù)(Boolean,Data,Date,Number和String.)、容器 (Array,Dictionary)

寫(xiě)入xml過(guò)程:先將基本數(shù)據(jù)寫(xiě)入容器 再調(diào)用容器的 writeToFile 方法,寫(xiě)入。

  1. [theArray writeToFile:filePath atomically:YES]; 

擁有此方法的數(shù)據(jù)類型有,如圖所示:

詳解iPhone應(yīng)用開(kāi)發(fā)之?dāng)?shù)據(jù)持久化

atomically參數(shù),將值設(shè)置為 YES。寫(xiě)入文件的時(shí)候,將不會(huì)直接寫(xiě)入指定路徑,而是將數(shù)據(jù)寫(xiě)入到一個(gè)“輔助文件”,寫(xiě)入成功后,再將其復(fù)制到指定路徑。

2、Archiver

特點(diǎn):支持復(fù)雜的數(shù)據(jù)對(duì)象。包括自定義對(duì)象。對(duì)自定義對(duì)象進(jìn)行歸檔處理,對(duì)象中的屬性需滿足:為基本數(shù)據(jù)類型(int or float or......),或者為實(shí)現(xiàn)了NSCoding協(xié)議的類的實(shí)例。自定義對(duì)象的類也需要實(shí)現(xiàn)NSCoding。

NSCoding 方法:

  1. -(id)initWithCoder:(NSCoder *)decoder; - (void)encodeWithCoder:(NSCoder *)encoder;  

參數(shù)分別理解為解碼者和編碼者。

例如創(chuàng)建自定義類Student:NSObject <NSCoding>

  1. #import "Student.h"   
  2. @implementation Student   
  3. @synthesize studentID;   
  4. @synthesize studentName;   
  5. @synthesize age;   
  6. @synthesize count;   
  7. - (void)encodeWithCoder:(NSCoder *)encoder  
  8. {  
  9.    [encoder encodeObject: studentID forKey: kStudentId];  
  10.     [encoder encodeObject: studentName forKey: kStudentName];  
  11.     [encoder encodeObject: age forKey: kAge];  
  12.      [encoder encodeInt:count forKey:kCount];   
  13. }18 19  - (id)initWithCoder:(NSCoder *)decoder  
  14. {  
  15.      if (self == [super init]) {  
  16.        self.studentID = [decoder decodeObjectForKey:kStudentId];  
  17.        self.studentName = [decoder decodeObjectForKey:kStudentName];          
  18.    self.age = [decoder decodeObjectForKey:kAge];  
  19.         self.count = [decoder decodeIntForKey:kCount];   
  20.     }  
  21.     return self;  
  22. }  
  23. @end 

編碼過(guò)程:

  1. /*encoding*/   
  2.  Student *theStudent = [[Student alloc] init];  
  3.  theStudent.studentID = @"神馬";   
  4.  theStudent.studentName = @"shenma";  
  5.  theStudent.age = @"12";   
  6.   NSMutableData *data = [[NSMutableData alloc] init];   
  7.  NSKeyedArchiver *archiver = [[NSKeyedArchiver alloc] initForWritingWithMutableData:data];   
  8.  [archiver encodeObject: theStudent forKey:@"student"]; 

NSKeyedArchiver可以看作“加密器”,將student實(shí)例編碼后存儲(chǔ)到data

NSMutableData 可看作“容器”,并由它來(lái)完成寫(xiě)入文件操作(inherits NSData)。

解碼過(guò)程:

  1.  /*unencoding*/  
  2. Student *studento = [[Student alloc] init];  
  3. data = [[NSData alloc] initWithContentsOfFile:documentsPath];  
  4.  NSKeyedUnarchiver *unarchiver = [[NSKeyedUnarchiver alloc] initForReadingWithData:data];  
  5.  studento = [unarchiver decodeObjectForKey:@"student"];  
  6.  [unarchiver finishDecoding]; 

根據(jù)鍵值key得到反序列化后的實(shí)例。

3、SQLite

數(shù)據(jù)庫(kù)操作~

小結(jié):詳解iPhone應(yīng)用開(kāi)發(fā)之數(shù)據(jù)持久化的內(nèi)容介紹完了,希望通過(guò)本文的學(xué)習(xí)能對(duì)你有所幫助!

責(zé)任編輯:zhaolei 來(lái)源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-06-07 17:16:47

iPhone 數(shù)據(jù)

2011-07-07 15:45:45

iPhone SQLite 數(shù)據(jù)

2021-03-18 08:18:15

ZooKeeper數(shù)據(jù)持久化

2011-08-10 10:10:21

iPhoneUIPopoverCo

2011-08-10 17:37:00

iPhoneASIHTTPRequ

2011-07-27 10:16:41

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

2011-08-11 10:03:43

iPhonecocoaNSRunLoop

2011-07-27 11:14:37

iPhone UITableVie

2011-08-12 14:33:06

iPhone緩存文件

2011-08-15 11:37:20

iPhone開(kāi)發(fā)Mask

2011-07-18 14:39:53

iPhone SDK UIKit

2024-09-29 09:25:53

2011-08-11 17:15:54

iPhone歸檔

2011-08-09 11:36:41

iPhoneUIPickerVieDEMO

2011-07-26 09:41:23

iPhone xcode Mac OS X

2011-08-12 10:04:24

iPhone開(kāi)發(fā)視圖

2011-08-18 10:59:57

iPhone開(kāi)發(fā)消息通信NSNotificat

2011-08-16 15:36:47

iPhone應(yīng)用測(cè)試

2011-08-17 15:10:21

iPhone開(kāi)發(fā)Web視圖

2022-03-02 21:53:57

Spring數(shù)據(jù)庫(kù)持久化Jar包
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产成人在线视频播放 | 久久69精品久久久久久久电影好 | 综合久久av| 国产精品欧美一区二区三区 | 美女毛片免费看 | 国内精品久久久久久久影视简单 | 久久99深爱久久99精品 | 香蕉视频黄色 | 四虎免费视频 | 爱爱爱av| 日韩欧美精品 | 99久久婷婷国产综合精品电影 | 日日草夜夜草 | 亚洲乱码一区二区三区在线观看 | 特黄视频| 日本在线视频一区二区 | 国产中文字幕在线观看 | 国产精品视频久久久 | 做a视频 | 国产女人精品视频 | 中文字幕一区二区三区日韩精品 | 成人网av | 在线播放亚洲 | 国产精品美女久久久久aⅴ国产馆 | 国产精品有限公司 | 国产97久久 | 国产成人亚洲精品 | 最新国产视频 | 91在线观看 | 国产欧美日韩久久久 | 一级毛片免费视频观看 | 中文在线a在线 | 在线观看av网站永久 | 激情小视频 | 亚洲黄色一区二区三区 | 免费在线观看av网址 | 亚洲精品一区二区三区蜜桃久 | 久久久久国产一区二区三区四区 | 日韩视频在线观看 | 国产精品69av | 国产精品日韩一区二区 |