Mantle:多对一映射

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


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

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


+ (NSDictionary *)JSONKeyPathsByPropertyKey;的注释

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

.h文件
.m文件

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

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

你可能感兴趣的:(Mantle:多对一映射)