YYModel

作者: 6灰太狼9 | 来源:发表于2019-01-08 14:42 被阅读10次

    一、用法

    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

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