objective C归档

XML归档:用某种格式来保存一个或者多个对象,将对象保存到一个文件中,如果要调用文档内容,需使用跟保存格式相同的格式读取。属性列表归档只针对于Foundation对象,字典中的键必须全是NSString对象。字典中的值可以是NSString、NSArray、NSDictionary、NSData、NSNumber对象
     写入文件:writeToFile:@“123.plist” atomically:YES (atomically是希望首先将文件写入临时备份文件中,写入成功后,将把最终数据转移到123.plist的制定文件中,如果保存的文件是类似于docu/ppt/test/123.plist 需要手动创建相应的文件夹,系统只能自动创建最终文件。这项安全措施使得文件在执行操作的过程中崩溃时免受破坏。

NSKeyedArchiver归档:可将各种类型的对象存储到文件中,使用NSArchiver类创建连续的归档,连续的归档需要完全按照写入时的顺序读取归档中的数据。带键的档案中,每个归档字段都有一个名称。归档某个对象时,会为它提供一个键,从归档中检索该对象时,需根据键来检索,这样可以按照任意的顺序将对象写入归档并进行检索。iPhone SDK中没有提供NSArchiver,如果想使用归档功能,则必须使用NSKeyedArchiver
      写入文件:archiveRootObject:toFile

————通常自定义的类不能直接归档。若要归档必须是该类遵守协议,在该类中添加encodeWithCoder:方法和initWithCoder:方法,以实现归档对象和恢复对象

编码和解码方法:编码方法一般应该指定如何归档,想要保存的对象中的每个实例变量
对于Objective-c:  encodeObject:forKey: 编码    decodeObject:forKey:解码
对于int对象:  encodeInt:forKey: 编码    decodeInt:forKey:解码
对于float:  encodeFloat:forKey: 编码    decodeFloat:forKey:解码

使用NSData创建自定义档案
有时可能不希望使用archiveRootObject:toFile:方法将对象直接写入文件,而是临时放到有NSData对象创建的临时存储空间中
NSData对象用来保存一块内存空间作为临时存储数据的空间 [dataArea=NSData data];
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值