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

詳解Objective-C文件加載與保存

移動開發 iOS
Objective-C文件加載與保存是本文要介紹的內容,Cocoa提供了Core Data,能夠在后臺處理所有文件內容,但是本章討論的是Cocoa提供的兩個通用的文件處理類:屬性列表和對象編碼。

Objective-C文件加載與保存是本文要介紹的內容,Cocoa提供了Core Data,能夠在后臺處理所有文件內容,但是本章討論的是Cocoa提供的兩個通用的文件處理類:屬性列表和對象編碼。

屬性列表

有一類名為屬性列表的對象,常簡寫為plist

屬性列表類包括:NSArray, NSDictionary, NSString, NSNumber, NSDate,NSData以及他們的變體

NSDate

NSDate是用于處理時間和日期的基礎類

[NSDate date]獲得當前日期

dateWithTimeIntervalSinceNow,接受一個NSTimeInterval參數,通過制定時間偏移量獲得新時間。正值表示將來,負值表示過去

NSData

NSData包裝了大量字節,可以獲得數據的長度和指向字節起始位置的指針

用dataWithBytes:length:方法獲得

length方法給出字節數

bytes方法給出指向字節起始位置的指針

NSData不能改變,創建后就只能使用而不能改變,NSMutableData可以改變

寫入和讀取屬性列表

如何使用屬性列表和文件關聯呢:

集合屬性列表類具有:writeToFile:atomically:方法,用于將屬性列表寫入文件

NSString、NSData也具有:writeToFile:atomically:方法,但只寫入字符串或數據塊

注意:atomically參數是BOOL型,用于說明保存過程中是否使用臨時文件,會占用雙倍空間,但除非文件非常大,否則應該使用YES,以防破壞原始文件

通過arrayWithContentsofFile:方法可以將文件內容讀入到數組中

writeToFile:atomically:的缺點是,不會返回錯誤信息,如果不能加載,只能從方法中得到nil指針

編碼對象

Cocoa具備一種機制,將對象轉換為某種格式保存到磁盤中,當讀取這些數據塊到內存后,還能基于保存的對象創建新的對象。這個過程稱為編碼和解碼,或稱為序列化和反序列化

例如:使用Interface Buider時,從庫中拖動對象,這些對象被保存到nib文件中,換言之,對象被序列化并保存到磁盤中。程序運行時,會將nib文件加載到內存中,串行化對象

通過實現NSCoding協議,可以使自己的對象實現相同的功能

  1. @protocal NSCoding  
  2. -(void) encodeWithCoder:(NSCoder *) aCoder;  
  3. -(id) initWithCoder:(NSCoder *) aDecoder; 

NSCoder是一個抽象類,我們只用它的子類NSKeyedArchiver和NSKeyedUnarchiver

  1. encodeObject:forkey方法編碼,encodeXXX:forkey:  
  2. decodeObject:forkey方法解碼,decodeXXX:forkey; 

注意:initWithCoder需要調用父類init,如果父類采用NSCoding協議,則調用initWithCoder,否則調用init即可。

小結:詳解Objective-C文件加載與保存的內容介紹完了,希望通過本文的學習對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-08-04 13:38:01

Objective-C C++

2011-07-29 16:16:30

Objective-c block

2011-08-17 10:58:59

Objective-C構造函數

2015-10-08 10:01:10

Objective-CLayout

2011-07-18 16:36:51

Objective-C XCode

2014-04-01 10:50:42

iOS開發runtimeObjective-C

2011-08-17 10:29:39

Objective-C預處理

2011-07-27 16:55:12

Objective-c 閉包

2011-08-01 17:11:43

Objective-C 函數

2011-08-15 14:32:42

Objective-C委托協議

2014-04-28 09:56:56

Objective-CiOS命名空間

2011-08-17 11:05:22

Objective-C方法

2011-07-08 18:44:09

Objective-C Self Super

2011-08-16 10:23:04

Objective-CNSAutoreleaXcode常用鍵

2011-07-29 15:47:21

iPhone開發 Objective- C

2011-08-10 18:07:29

Objective-C反射

2011-08-04 10:04:17

Objective-C 分類 協議

2011-08-04 18:14:42

Objective-C 消息

2011-07-27 16:36:03

iphone Objective- 靜態庫

2011-08-16 13:34:23

Objective-C歸檔
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久国产精品色av免费观看 | 久久国产精品99久久久大便 | 国产精品入口 | 欧美日本一区 | 久久精品亚洲 | 日日操夜夜干 | 一区二区在线免费观看 | 国产激情一区二区三区 | 欧美国产在线一区 | 亚洲成人第一页 | 国产欧美日韩一区 | 亚洲国产日韩一区 | 欧美一级片在线观看 | 国产一区二区免费在线 | 成人1区| 中文字幕一区二区三区精彩视频 | 美国黄色一级片 | 国产av毛片 | 亚洲一区成人 | 国产精品久久久久久一区二区三区 | 欧美99久久精品乱码影视 | 日韩区| 久久精品一区二区三区四区 | 国产精品96久久久久久 | 国产精品99久久久久久宅男 | 久久成人在线视频 | 黄网站涩免费蜜桃网站 | 一级欧美一级日韩片免费观看 | 午夜免费看视频 | 黄色片大全在线观看 | 亚洲网址在线观看 | 91精品国产91久久久久久丝袜 | 99久久免费精品国产男女高不卡 | 亚洲bt 欧美bt 日本bt | 影音先锋亚洲资源 | 一区二区三区小视频 | 国产激情视频在线观看 | 午夜精品一区二区三区在线视 | 成人激情视频在线观看 | 日韩在线观看网站 | 一区二区三区日韩 |