美文网首页
iOS对象归档解档-运行时方案

iOS对象归档解档-运行时方案

作者: 普鲁特斯 | 来源:发表于2018-09-19 16:40 被阅读0次

将下班,余些许时间,闲来无事,偶忆他人询归解档之简法,故作小结,祈与君有助。

闲言简之,此为寻代码之处

用法简介之:

1、移以下类别于君项目中。

image

2、无它操作,遂心将类对象归解档之。

3、做归解档演示状:

归档:

    //创建需要归档的对象

    Car *car = [[Car alloc] init];

    car.brand = @"BMW";

    car.color = [UIColor redColor];


    //归档文件路径

    NSString *filePath = [DOCUMENTSDIR stringByAppendingPathComponent:FILENAME];

    //归档

    [NSKeyedArchiver archiveRootObject:car toFile:filePath];

解档:

    //解档文件路径

    NSString *filePath = [DOCUMENTSDIR stringByAppendingPathComponent:FILENAME];

    //解档

    Car *car = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];

原理简介之

@interface NSObject (Archive)
#import <objc/runtime.h>

于基类作之,运行时助之,子类广适之。

unsigned int ivarsCount = 0;
Ivar *ivars = class_copyIvarList([self class], &ivarsCount);

运行时助寻类之属性。

for (int i = 0; i < ivarsCount; i++) {
    NSString *key = [NSString stringWithUTF8String:ivar_getName(ivars[i])];
    [coder encodeObject:[self valueForKey:key] forKey:key];
}

属性遍历之,以归档之法逐一适之。

反之解档相似也,唯寻属性逐一解之。

代码寥寥,君可下载阅之。

望与君有助。

相关文章

  • iOS对象归档解档-运行时方案

    将下班,余些许时间,闲来无事,偶忆他人询归解档之简法,故作小结,祈与君有助。 闲言简之,此为寻代码之处。 用法简介...

  • ios中Swift的归档与解档

    ios中Swift的归档与解档 归档 解档 init()方法 设置属性

  • iOS 【NSKeyedArchier】归档解档类名调整问题

    归档解档的是自定义的对象,归档时是A名字,当对象名调整之后,解档是B名字; *** Terminating app...

  • 归档与解档

    归档:将对象按照一定的格式保存到文件中;解档:从文件中还原对象的过程 官方类的归档与解档方式一: 官方类的归档与解...

  • 归档/解档

    一、对系统类进行归档/解档 第一种:对集合类对象进行归档/解档 归档: 解档 方法(1) 方法(2) 第二种:非集...

  • 数据持久化-归档、解档

    模型对象实现归档和解档代理方法 解档 宏定义路径 归档 任何地方只要动了数组都要归档

  • iOS运行时归档与解档

    相较于NSUserDefaults和NSFileManager,归档解档可以存储model模型。比如平时项目最常用...

  • iOS运行时实现归档解档

    一、什么是运行时(Runtime)? runtime是一套比较底层的纯C语言的API,runtime就是一个库,一...

  • iOS - 对象的归档与解档(运行时实现)

    归档与解档是IOS中一种序列化与反序列化的方式。对象要实现序列化需要遵循NSCoding协议,而绝大多数Found...

  • 归档 & 解档

    1.什么是 归档 和 解档 数据本地存储持久化的一种。归档:对象的序列化,通过某种格式把对象保存成本地文件。解档:...

网友评论

      本文标题:iOS对象归档解档-运行时方案

      本文链接:https://www.haomeiwen.com/subject/nwbinftx.html