首先需要pod导入YYModel
在podfile文件中添加 pod 'YYModel' 然后执行pod install
关于YYModel的使用
1.有的时候后台返回的字段如 id description等如果和系统关键词冲突就会出现问题,此时我们可以实现代理方法 + (NSDictionary *)modelCustomPropertyMapper;//属性 替换
2.如果要转换的不是一般的字符串,整型,而是字典或者数组可以实现代理方法+ (NSDictionary *)modelContainerPropertyGenericClass;//容器类
3.还有如果你不想处理某些字段可以添加黑名单(会忽略该列表内的所有属性),如果只想处理某些字段可以添加白名单(只处理该列表内的所有属性)
4.有时候日期字段我们想转成自己的格式,或者后台返回的某个字段个没有序列化的字典(这种一般是后台没有对这些字段创建单独的表),再或者自己额外添加的字段赋默认值,做一些自动转换不能完成的工作。- (BOOL)modelCustomTransformFromDictionary:(NSDictionary *)dic ;
5.对象归档,一般我们需要遵循NSCoding和NSCoping协议,并实现相关代理方式,对所有字段处理,如果有新的字段添加,就会显得很麻烦。通过运行时获取所有变量就显得很简单,以后字段任意添加
首先model需要 <NSCoding, NSCopying>
然后
YYModel 是通过运行时获取的变量名字,类型(官网有关于类型的对照表),以及方法,然后通过对NSObject 和 NSArray扩展方法