美文网首页
利用运行时实现归档/解档的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];解档。

    相关文章

      网友评论

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

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