zoukankan      html  css  js  c++  java
  • IOS中对象的归档

    ios提供了两个类 NSKeyedArichiver NSKeyedUnarchiver对自定义对象进行归档 和解档操作

    归档常见方法

    - (void)encodeObject:(id)objv forKey:(NSString *)key;
    - (void)encodeConditionalObject:(id)objv forKey:(NSString *)key;
    - (void)encodeBool:(BOOL)boolv forKey:(NSString *)key;
    - (void)encodeInt:(int)intv forKey:(NSString *)key;    // native int
    - (void)encodeInt32:(int32_t)intv forKey:(NSString *)key;
    - (void)encodeInt64:(int64_t)intv forKey:(NSString *)key;
    - (void)encodeFloat:(float)realv forKey:(NSString *)key;
    - (void)encodeDouble:(double)realv forKey:(NSString *)key;
    - (void)encodeBytes:(const uint8_t *)bytesp length:(NSUInteger)lenv forKey:(NSString *)key;

    解档常见方法

    - (id)decodeObjectForKey:(NSString *)key;
    - (BOOL)decodeBoolForKey:(NSString *)key;
    - (int)decodeIntForKey:(NSString *)key;     
    - (int32_t)decodeInt32ForKey:(NSString *)key;
    - (int64_t)decodeInt64ForKey:(NSString *)key;
    - (float)decodeFloatForKey:(NSString *)key;
    - (double)decodeDoubleForKey:(NSString *)key;


    上面这些方法使用都很简单 我这里就不做过多赘述

    我这里主要说下 对于我们自定义的对象 如何进行归档解档操作: 步骤如下:

    1.首先自定义的对象必须要遵守NSCoding 协议

    2.必须实现协议的两个方法

    *- (id)initWithCoder:(NSCoder *)aDecoder

    *- (void)encodeWithCoder:(NSCoder *)aCoder

    3.分别在这两个方法里面描述清楚 如何解析 和 存储 数据即可

    两个方法的使用方式如下:

    4.经过以上步骤之后 ,你就可以放心大胆的到任何位置去存储 和读取 自定义的对象的数据了

    好了,关于自定义对象归档 我就理解这么多了 希望大家多多支持哈

  • 相关阅读:
    用Python写春联:抒写最真诚的祝福和最美好的祈愿
    python 注册表操作
    python 多参数
    arcgis tin版本转换使用复制tin
    python基础知识
    模型免费学习地址https://space.bilibili.com/378493128?spm_id_from=333.788
    在Python中用turtle函数画同心圆
    solr系统query检索词特殊字符的处理
    C#winform抓取百度,Google搜索关键词结果
    理解Solr缓存及如何设置缓存大小
  • 原文地址:https://www.cnblogs.com/syios/p/4763382.html
Copyright © 2011-2022 走看看