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数据持久化 归档 对象 等数据
  • 相关阅读:
    Vue2.0一个login跳转实例
    canvas动画—圆形扩散、运动轨迹
    根据地理信息绘画的html5 小游戏
    用vue开发一个猫眼电影web app
    微信小程序 iphone6 和 iphone6plus 如何设置rpx单位,通俗易懂的方法
    前端实例练习
    为表单加上即时通讯的能力
    MongoDB学习笔记4——GridFS基础
    剑指Offer(Java版)第十三题:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。
    剑指Offer(Java版)第十一题
  • 原文地址:https://www.cnblogs.com/aggie/p/4554703.html
Copyright © 2011-2022 走看看