YYModel的底层实现原理
实际使用时,需要对其遍历,取出容器中得字典,然后继续字典转模型。( YYModel 的核心是通过 runtime 获取结构体中得 Ivars 的值,将此值定义为 key, 然后给 key 赋 value 值,所以我们需要自己遍历容器( NSArray , NSSet , NSDictionary ),获取每一个值,然后 KVC )总结起来就是: 底层核心是 运用runtime获取类结构体中Ivars,进行KVC操作,然后根据不同情况进行分别处理 。 1.Model 属性名和 JSON 中的 Key 不相同 // JSON: { "n" : "Harry Pottery" , "p" : 256 , "ext" : { "desc" : "A book written by J.K.Rowing." }, "ID" : 100010 } // Model: @interface Book : NSObject @property NSString *name; @property NSInteger page; @property NSString *desc; @property NSString *bookID; @end @implementation Book //返回一个 Dict,将 Model 属性名对映射到 JSON 的 Key。 + ( NSDictionary *