• ios数据持久化 归档 对象 等数据


    原文地址:http://jingyan.baidu.com/article/6b97984d9481f61ca2b0bfd4.html

    方法/步骤

    1.  

      例如:对person 对象进行归档。

      首先。person.h文件

      #import <Foundation/Foundation.h>

      @interface JPerson : NSObject <NSCoding>

      @property(nonatomic,copy)NSString *name;

      @property(nonatomic,assign)int age;

      @property(nonatomic,assign)double height;

      @end

      ios数据持久化 归档 对象 等数据
    2.  

      之后person.m 文件 声明两个方法 一个写 一个读

      #import "JPerson.h"

      @implementation JPerson

      #pragma mark 将对象归档的时候会调用(将对象写入文件前会调用)

      //在这个方法说清楚

      //哪些属性需要存储

      //怎样存储这些属性

      - (void)encodeWithCoder:(NSCoder *)encoder

      {

          //将_name属性进行编码

          [encoder encodeObject:_name forKey:@"name"];

          

          [encoder encodeInt:_age forKey:@"age"];

          

          [encoder encodeDouble:_height forKey:@"height"];

      }

      #pragma mark 当从对象中解析时 调用。

      //这个方法说清楚

      //1.哪些属性需要解析

      //2,怎样解析这些属性

      -(id)initWithCoder:(NSCoder *)decode

      {

          if (self = [super init]) {

              _name = [decode decodeObjectForKey:@"name"];

              _age = [decode decodeIntForKey:@"age"];

              _height = [decode decodeDoubleForKey:@"height"];

          }

          return self;

      }

      @end

      ios数据持久化 归档 对象 等数据
    3.  

      在  你需要读写的 .m 文件下实现

      这里 是在点击按钮的时候 实现

      - (IBAction)Write {

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

          p.name = @"jin";

          p.age = 10;

          p.height = 176.0;

          //有个类 键值编码

          

          NSString *path = @"/Users/macbookair/Desktop/person.data";

          //归档

          [NSKeyedArchiver archiveRootObject:p toFile:path];

          

          

      }

      - (IBAction)read {

          

           NSString *path = @"/Users/macbookair/Desktop/person.data";

          

          //读档 (反归档)

          

          JPerson *p = [NSKeyedUnarchiver unarchiveObjectWithFile:path];

          

           NSLog(@"%@--%d---%f",p.name ,p.age ,p.height);

          

      }

      ios数据持久化 归档 对象 等数据
    4. 4

      ok 查看 输出 :

      ios数据持久化 归档 对象 等数据
  • 相关阅读:
    jmeter-获取数据库中的数据
    jmeter常见报错汇总
    学习目录
    Spring+Spring Security+JSTL实现的表单登陆的例子
    Spring+Spring Security+Maven 实现的一个Hello World例子
    第六章:位置匹配
    第五章:重复匹配
    第四章:使用元字符
    第三章:匹配一组字符
    第二章:匹配单个字符
  • 原文地址:https://www.cnblogs.com/aggie/p/4554703.html
Copyright © 2020-2023  润新知