码迷,mamicode.com
首页 > 其他好文 > 详细

复杂对象的归档和反归档

时间:2015-07-23 23:10:30      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:

1.首先对象类遵守NSCoding

   实现:代理方法

   // 编码 **********对应于归档(存)的时候*********
-(void)encodeWithCoder:(NSCoder *)aCoder

{

    [aCoder encodeObject:self.name forKey:@"name"];
    [aCoder encodeObject:self.sex forKey:@"sex"];
    
}
// 解码(反编码---取值)
-(id)initWithCoder:(NSCoder *)aDecoder
{
    self = [super init];
    if (self) {
        self.name = [aDecoder decodeObjectForKey:@"name"];
        self.sex = [aDecoder decodeObjectForKey:@"sex"];
        
    }
    return self;
}

2.归档---把复杂对象存入沙盒中

   初始化实例对象---路径(文件名)--- 初始化NSKeyedArchiver---利用初始化的NSKeyedArchiver对复杂对象进行编码---结束编码---存入沙盒

  技术分享

3.反归档---从沙盒中读取复杂对象

  路径---根据路径取出二进制(NSData)---创建NSkeyedUnarchiver ---解码---结束反归档

 技术分享

4.简单对象的读写

   字符串(写)

技术分享

   NSData(写)

技术分享

    简单对象(读)

技术分享

    /**
      IOS中只有NSString NSArray NSDictionry NSData(以及他们的可变类)可以直接在沙盒里面写入,其他的不可以***数组
      字典等容器里面存储的数据必须是上述的数据
     
     */

 

复杂对象的归档和反归档

标签:

原文地址:http://www.cnblogs.com/bachl/p/4671901.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!