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。

你可能感兴趣的:(YYModel)