• 归档和解档


    归档--encoder    它是将自定义的对象写入磁盘前将对象转成二进制然后存入磁盘。

      

    解档--decoder    它是将磁盘上保存的二进制数据转换成自定义对象。

    eg:

      自定义一个person对象

         .h 文件中

      @property (nonatomic,copy)NSString *name;

      @property (nonatomic,assign)int age;

      .m 文件中

      // 归档

      - (void)encodeWithCode:(NSCode *)encode

      {

        [encode encodeObject:_name forKey:@"userName"];

        [encode encodeInt:_age forKey:@"userAge"];

      }

      // 解档

      -(instancetype)initWithCoder:(NSCoder *)decoder

      {

        if(self = [super init])

        {

          _name = [decoder decodeObjectForKey:@"userName"];

          _age = [decoder decodeIntForKey:@"userAge"];

        }

        return self;

      }

      在控制器中调用  

      实例化一个person对象

      Person *p = [[Person alloc]init];

      p.name = @"Jerry";

      p.age = 20;

      // 解档

      [NSKeyedArchiver archiveRootObject:p toFile:@"/Users/apple/Desktop/123.plist"];

      // 解档

      Person *p1 = [NSKeyedUnarchiver unarchiveObjectWithFile:@"/Users/apple/Desktop/123.plist"];

      NSLog(@"%@",p1.name);

  • 相关阅读:
    学习JavaDay07
    学习JavaDay05
    学习JavaDay0402
    学习JavaDay04
    学习JavaDay03
    学习JavaDay02
    学习JavaDay01
    数据库的增删改查
    关于Spring
    关于多线程Thread的简单应用
  • 原文地址:https://www.cnblogs.com/pengpengzhang/p/4841869.html
Copyright © 2020-2023  润新知