美文网首页
YYModel框架源代码分析

YYModel框架源代码分析

作者: kodbin | 来源:发表于2017-08-21 15:51 被阅读17次

前言:YYModel是一个轻量级的model与dictionary相互转换的框架,代码结构简单,使用简单,性能不错


一,使用:

// 将 JSON (NSData,NSString,NSDictionary) 转换为 Model:

User *user = [User  yy_modelWithJSON:json];

// 将 Model 转换为 JSON 对象:

NSDictionary *json = [user yy_modelToJSONObject];

具体使用方法的可以看这里

二,源代码分析

1,JSON转model

User *user = [User  yy_modelWithJSON:json];

1:为判断类型,即把NSData,NSString,NSDictionary转为NSDictionary

2:方法变为把NSDictionary转为model的问题,继续看

1:获取类对象

2:"返回缓存的模型类元数据"??

3:创建一个model对象

4:关键一步,继续看

00:使一个数组所有的元素作用于某个函数,

参数1,数组,这里应该取了所有类的所有属性

参数2,范围

参数3,作用函数

参数4,不懂(应该是上下文传递的一些预留参数)

参数3的作用函数,继续

接下来是C的函数式编程模型,现在的思路是,我们要给model赋值需要什么?3个东西,model实例,value,value对应的setter方法,刚好对应上图的1,2,3;方法4是进行赋值,继续:

最后一步,正在的赋值操作,判断值的类型,然后使用objc_msgSend方法进行赋值操作

三,类/方法名解释

1.NSNull:作为数组中的空值占位符  kCFNull:与NSNull一样

2,object_getClass(self):获取上一级的类(对象),[self class],self是实例时返回类对象,类时,返回自己,直至根元类

类也是一个对象,实例往上是:

相关文章

网友评论

      本文标题:YYModel框架源代码分析

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