YYModel

一、用法

YYModel跟MJExtension作用相似。也提供了一下数据的相互转换

array,dictionary<--->model array,model<--->jsonStr<--->json(data)
1.转成model, model array
+ (instancetype)yy_modelWithJSON:(id)json;
+ (instancetype)yy_modelWithDictionary:(NSDictionary *)dictionary;

//转成model array
+ (NSArray *)yy_modelArrayWithClass:(Class)cls json:(id)json;
+ (NSArray *)yy_modelArrayWithClass:(Class)cls array:(NSArray *)arr;

看源码我们可以很快发现:yy_modelWithJSON方法中先将传入的对象先变成NSDictionary对象,这里就已经完成了jsonStr/json(data)转dictionary,而且用的是系统方法。然后在用yy_modelWithDictionary去实现dictionary转model,这里才是难点。转成model array哪里的核心其实就是循环调用了yy_modelWithDictionary方法。

2.转成dictionary,array
- (id)yy_modelToJSONObject;
3.转成json(data)
- (NSData *)yy_modelToJSONData;
4.转成jsonStr
- (NSString *)yy_modelToJSONString;

我们看代码会发现yy_modelToJSONString方法调用了yy_modelToJSONData方法,yy_modelToJSONData方法调用了yy_modelToJSONObject方法。其中dictionary转json(data)转jsonStr都使用的系统方法,难点在于model转换成dictionary。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容