YYModel 源码历险记 代码结构

前言

 

因为公司需要开发一个内部使用的字典转模型的项目,所以最近也是在看关于字典转模型的内容。有Mantle,jsonModel,MJExtension等众多框架,最后还是选择了先从YYModel源码读起,发现一边读着读着我的膝盖就掉下去了,于是想总结一下自己在阅读源码的过程中收获的知识点

 

目录结构

 

工程目录.png

 

打开项目工程一开始以为只有2个类应该不会太难读懂,结果仔细点开一看,我膝盖骨也掉了,YY对NSObject中的一些内容进行了又一次的封装,增加了许多描述的内容,经过一番梳理,我整理出了一张结构图

 

代码结构.png

 

理解

 

  1. YYClassInfo 是对于Class进行了封装,进行封装增加描述

    YYClassIvarInfo 对 Class的Ivar进行了进行封装增加描述

    YYClassMethodInfo 对 Class 的 Method进行封装增加描述

    YYClassPropertyInfo 对 Class 的 Property进行了封装描述

     

  2. YYModel :

    YYModelMeta 对YYClassInfo进行封装描述

    YYModelPropertyMeta对YYClassProperty进行封装描述

 

主要类别

 

  1. NSObject(YYModel) : 提供一些字典模型互转的方法,将对key/value进行匹配,赋值给Model对应的property

  2. NSArray(YYModel): 为NSArray提供字典转模型的方法

  3. NSDictionary(YYModel):为NSDictionary提供字典转模型方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值