zoukankan      html  css  js  c++  java
  • 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提供字典转模型方法

  • 相关阅读:
    gitblit.cmd运行自动关闭
    用SourceTree轻松Git项目图解
    GUI for git|SourceTree|入门基础
    SourceTree的简单使用
    Windows平台使用Gitblit搭建Git服务器图文教程
    使用Gitblit 搭建Windows Git服务器
    Git使用详细教程
    Kafka 设计与原理详解
    Kafka 客户端实现逻辑分析
    js判断只能输入数字或小数点
  • 原文地址:https://www.cnblogs.com/fengmin/p/5541337.html
Copyright © 2011-2022 走看看