iOS MJExtension 映射扩展 model转换

本次将不仔细介绍MJExtension的使用了,关系到映射记一下

#import "MJExtension.h"
+ (NSDictionary *)mj_replacedKeyFromPropertyName{
    /* 返回的字典,key为模型属性名,value为转化的字典的多级key */
    return @{
             @"ID" : @"id",
            };
}

MJExtension第三方框架

我们在iOS开发过程中,我们常常需要将字典数据(也就是JSON数据)与Model模型之间的转化,例如网络请求返回的微博数据、等等,如果我们自己全部手动去创建模型并赋值,都是一些毫无技术含量的代码,费时费力,而且还可能会赋值出错,让我们很头疼。

MJExtension框架就是为了解决这个问题而设计得第三方开源库。这个开源库是之前传智博客的讲师李明杰老师写的

提供了以下的一些方法实现:
简单的字典 --> 模型
JSON字符串 --> 模型
复杂的字典 --> 模型 (模型里面包含了模型)
复杂的字典 --> 模型 (模型的数组属性里面又装着模型)
复杂的字典 --> 模型(模型属性名和字典的key不一样)
字典数组 --> 模型数组
模型 --> 字典
模型数组 --> 字典数组
字典 --> CoreData模型
归档与解档NSCoding
过滤字典的值

MJExtension框架是利用Obj-C的运行时机制编写的,现在iOS开发语言往Swift语言发展,我不太清楚Swift语言是否也有这种特性,该框架以后会不会在Swift语言上也发展下去不得而知,不过这个框架很轻量级,非常适合初级开发者去看它的源码,对理解Obj-C的运行时机制有非常大的帮助。

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

推荐阅读更多精彩内容

  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 51,290评论 10 200
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,571评论 0 4
  • 对于从事 iOS 开发人员来说,所有的人都会答出【runtime 是运行时】什么情况下用runtime?大部分人能...
    梦夜繁星阅读 3,732评论 7 64
  • 互联网时代,信息传播速度加快,舆论宣传工作的好坏决定了在网络上是否有自己的声音,酒香也怕巷子深,为此必须切实加强舆...
    少儿创客阅读 698评论 0 0