美文网首页
利用运行时实现归档/解档的NSCoding协议

利用运行时实现归档/解档的NSCoding协议

作者: adrian920 | 来源:发表于2017-05-11 15:24 被阅读11次

用运行时,以后这两个方法可以到处拷贝,不需要添加N行的重复代码,也不用担心属性变化后这里忘记修改。

class_copyPropertyList(【self class】, &count), 这个方法只是取本类的属性,如b继承于a,在a中执行- (id)initWithCoder:(NSCoder*)aDecoder方法,这个时候self始终是b,不会列出a中的属性。必须在b中也实现- (id)initWithCoder:(NSCoder*)aDecoder方法。同时a中写法是:class_copyPropertyList(【self superclass】, &count)。不同类型的属性,都可用id propertyValue = [aDecoder decodeObjectForKey:propertyName]; [self setValue:propertyValue forKey:propertyName];解档。

相关文章

  • iOS Runtime归档解档

    利用运行时实现归档、解档,并将其封装成宏 继承 NSObject 并遵守 NSCoding 协议,创建一个类 在 ...

  • 使用runtime完成解档归档

    说明:解档归档需要遵守协议 NSCoding,并实现如下两个方法; 现在就可以实现解挡和归档了

  • OC NSArray&NSMutableArray,解归

    解归档: 对象实现NSCoding协议,实现两个方法 归档 解归档 NSArrary & NSMutableArr...

  • 利用运行时实现归档/解档的NSCoding协议

    用运行时,以后这两个方法可以到处拷贝,不需要添加N行的重复代码,也不用担心属性变化后这里忘记修改。 class_c...

  • 简单的解档 归档

    //简单的解档归档 //定义Model类 //签协议 @property(nonatomic,...

  • ios 归档与解档

    将对象进行归档或者解档时,需要遵循NSCoding协议,对象必须实现encodeWithCoder方法和initW...

  • 04-归档解档

    归档解档步骤: 1、遵循协议:2、实现编码解码这两个方法// 编码(对象 -> 二进制):告诉...

  • IOS本地存储的四种方式

    概要 一、NSKeyedArchiver归档(NSCoding)序列化 需要归档解档的类需要遵守NSCoding协...

  • iOS 13归档解档

    归档解档的使用 自定义类对象要进行归档,那么这个对象的属性所属的类必须要遵守归档协议NSCoding必须在需要归档...

  • swift 归档&解档使用方法 【转载XMG】

    1.获取沙盒路径 2.归档 3.解档 归档对象必须遵守NSCoding协议例如创建了一个账户类account.sw...

网友评论

      本文标题:利用运行时实现归档/解档的NSCoding协议

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