c语言 文件序列化,Obj-C中的NSDate 、文件读写、序列化和反序列化
NSData *data = [NSData data]; //獲取當前時間
NSLog ("Today is %@", data);
NSArray *phrase;
phrase = [NSArray arrayWithObjects: @“x”, @“y”, @“z”, @“end”];
[phrase writeToFile: @“/tmp/varbiage.txt” atomically: YES];
// 這里的YES是一種安全機制。寫入文件時先寫入到臨時文件,等結束后再將臨時文件與原始文件交換。這樣可以保證在
// 出現意外的時候(斷電),不會破壞原始文件,但需要額外的空間。
//NSArray,NSDictionary 的writeToFile方法
// 可以將屬性列表寫入文件,會存儲成xml格式文件
//NSString 和NSDate 的writeToFile方法 只能寫出字符串或者數據塊
NSArray *phrase2 = [NSArray arrayWithContentsOfFile: @“/tmp/verbiage.txt”];
NSLog(@“%@”, phrase2); //解析文件成一個數組
Cocoa具備一種機制來將對面自身轉換成某種格式并保存到磁盤中。
對象可以將它們的實例變量和其他數據編碼為數據塊,然后保存到磁盤中。以后將這些數據塊讀回到內存中,并且還能基于保存的數據創建新對象。
這個過程成為編碼和解碼,也叫序列化和反序列化。
@protocol NSCoding
-(void) encodeWithCoder: (NSCoder *)aCoder;
-(id) initWithCoder: (NSCoder *)aDecder;
@end
采用該協議:
1.當需要保存自身時,調用-(void) encodeWithCoder: (NSCoder *)aCoder
2.當需要加載自身時,調用-(id) initWithCoder: (NSCoder *)aDecder
//NSCoder 是一個抽象類,定義一些有用的方法來在對象與NSData之間來回轉換
總結
以上是生活随笔為你收集整理的c语言 文件序列化,Obj-C中的NSDate 、文件读写、序列化和反序列化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言计算机二级资料,2016年计算机二
- 下一篇: android高德自定义图标,Andro