zoukankan      html  css  js  c++  java
  • 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数据持久化 归档 对象 等数据
  • 相关阅读:
    数据结构学习(十二)、归并排序
    数据结构学习(十一)、堆排序
    数据结构学习(十)、插入排序
    数据结构学习(九)、简单选择排序
    数据结构学习(八)、冒泡排序
    天梯赛 L3-013 非常弹的球 找规律
    codeup模拟赛 进击的二叉查找数
    POJ 2828 Buy Tickets 线段树 倒序插入 节点空位预留(思路巧妙)
    HDU 1394 逆序数 线段树单点跟新 | 暴力
    HDU 2795 Billboard 线段树,区间最大值,单点更新
  • 原文地址:https://www.cnblogs.com/aggie/p/4554703.html
Copyright © 2011-2022 走看看