博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
IOS开发之 归档总结
阅读量:5011 次
发布时间:2019-06-12

本文共 964 字,大约阅读时间需要 3 分钟。

只针对于Foundation对象的归档:

使用XML属性列表归档,结果物为XML文件,属性列表归档只针对于Foundation对象,若数组或字典集合中有某些自定义的类的对象,则不能用这个方法归档。

归档使用的方法:

使用Foundation类中自带的方法:- (BOOL)writeToFile:(NSString *)path atomically:(BOOL)useAuxiliaryFile;

相对应的解析方法:-(id)initWithContentOfFile:(NSString *)filePath;

这两个方法是相对应的。用自带的方法归档,就必须用自带的方法读取文件。如果用别的方法读取会出现异常。

 

归档自定义类的方法:

用NSArchiver和NSKeyedArchiver归档。

在IOS SDK中没有NSArchiver(NSArchiver 是mac os SDK中的方法)。只能用 NSKeyedArchiver 和 NSKeyedUnArchiver进行归档和解析操作。

NSArray *array=@[@"1",@"2",@"3"];

[NSKeyedArchiver archiveRootObject:array toFile:@"arrTemp"]; //归档操作

NSArray *arr=[NSKeyedUnarchiver unarchiveObjectWithFile:@"arrTemp"]; //读取文件操作

 

自定义的类用NSKeyedArchiver进行带键值对的归档时要遵循<NSCoding>协议方法并实现。

//进行归档的编码方式

- (void)encodeWithCoder:(NSCoder *)aCoder

{

    [aCoder encodeObject:bookName forKey:@"name"];

}

 

 //读取文件进行解码的方式

- (id)initWithCoder:(NSCoder *)aDecoder

{

   self.bookName = [aDecoder decodeObjectForKey:@"name"];

 return  self;

}

 

转载于:https://www.cnblogs.com/csdnmc/p/3974686.html

你可能感兴趣的文章
中文url编码乱码问题归纳整理一
查看>>
Cesium应用篇:3控件(3)SelectionIndicator& InfoBox
查看>>
58. Length of Last Word(js)
查看>>
前端面试题汇总(持续更新...)
查看>>
如何成为F1车手?
查看>>
QT自定义消息
查看>>
Save (Not Permitted) Dialog Box
查看>>
装饰模式(Decorator)
查看>>
任务13:在Core Mvc中使用Options
查看>>
利用Excel 2010数据透视图实现数字的可视化的图形直观展示
查看>>
Sort Colors
查看>>
iview树的修改某个节点,树刷新后自动展开你刚才展开的所有节点
查看>>
oracle服务起不来以及无法监听问题解决
查看>>
Mvc--Html.ActionLink()的用法
查看>>
delphi 基础书籍推荐
查看>>
《面向对象程序设计》2018年春学期寒假及博客作业总结
查看>>
iOS开发UI之KVC(取值/赋值) - KVO (观察某个对象的某个属性的改变)
查看>>
1.7 将一个MxN矩阵所有为0的元素所在行和列全部置0
查看>>
删除U盘时提示无法停止‘通用卷’设备的解决方法!!不要每次都硬拔了,对电脑有不小的损害!!!...
查看>>
Java中接口与接口和类之间的关系
查看>>