iOS分享之路-快速开发电商平台工具

【iOS分享之路-快速上手Runtime】六、字典转模型(二级转

2017-03-22  本文已影响3883人  全栈攻城狮DWQ
DWQ-LOGO.jpeg

引述

在上一篇中我们讲述了利用Runtime字典转模型的一级转化,但是,我们发现,在我们的模型中,还是存在字典,如何再将其转化成模型呢?其实原理很简单,既然已经做过一级转换,想实现二级转化,再调用一次一级转换的方法不就解决了吗?

二级转换步骤:

  if ([value isKindOfClass:[NSDictionary class]] && ![propertyType containsString:@"NS"]) { 
// 需要字典转换成模型
}
// @"@\"User\"" User
            NSRange range = [propertyType rangeOfString:@"\""];
            propertyType = [propertyType substringFromIndex:range.location + range.length];
            // User\"";
            range = [propertyType rangeOfString:@"\""];
            propertyType = [propertyType substringToIndex:range.location];

  Class modelClass =  NSClassFromString(propertyType);

 if (modelClass) {
                value =  [modelClass modelWithDict:value];
                
            }

效果展示:

二级转换.png

从断点得知,我们已经成功将User这个字典做了二级转换。

Runtime字典转模型【二级转换】Demo

DWQRuntime字典转模型(二级转换)

小伙伴们多多支持,给文章点个喜欢,在GitHub上给喜欢的开源库一个Star噢!

上一篇下一篇

猜你喜欢

热点阅读