Mantle:多对一映射

        在刚开始接触Mantle的时候,我有一个疑问:Mantle是否支持多对一的映射?在后端接口定义字段名不统一又不愿意改时,这个功能就变得很重要了。以前使用的YYModel是支持的,按如下方式即可完成各种不同字段名的映射:


YYModel多种字段名映射到同一个property

        在翻看Mantle的注释和源码时,发现了类似的写法:


+ (NSDictionary *)JSONKeyPathsByPropertyKey;的注释

        于是写了个demo并且debug后,发现Mantle只能将类似的情况转化为一个NSDictionary。

.h文件
.m文件

        也就是说Mantle是无法直接支持字段名多对一映射的。但也不是完全没有办法,考虑到虽然接口的字段名不统一,但是同一时间有且只有一个字段名。在.m文件中声明一个私有NSDictionary属性做中转,此时转换出的NSDictionary只有一个键值对,那么直接取出value进行赋值也能达到同样的效果。

        虽然也能完成了多对一的映射,但远不如YYModel来的简单暴力。

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,188评论 4 61
  • 概述 ​ iOS源码解析—YYModel(YYClassInfo)分析了如何根据OC的Class对象构建...
    egoCogito_panf阅读 11,644评论 4 32
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,135评论 1 32
  • 原文地址介绍完了优化器和目标函数,那么剩下的就是训练模型了。这一小节,我们来看一下Keras的Models是如何使...
    readilen阅读 1,492评论 0 1
  • 第二类换元法是解决积分计算比较重要的方法,需要熟练掌握。
    小逸凡阅读 183评论 0 0