博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MJExtension解析http协议
阅读量:6261 次
发布时间:2019-06-22

本文共 1017 字,大约阅读时间需要 3 分钟。

hot3.png

    首先要先了解MJExtension是什么,有很明确的说明,你也可以通过下载它的代码来运行里面的demo进一步了解如何使用,具体的细节不用了解很清楚,只要会用就可以了.

    使用MJExtension我们会发现,我们要手动写很多代码来定义模型(结构),还要对一些和系统关键字或者属性重名的属性进行重命名.有了ESJsonFormat-Xcode插件,我们可以在得到帮助,并可以测试下readMe中的demo,你会发现ESJsonFormat会为我们生产很多模型,并且是支持泛型的,但是MJExtension现在还不支持泛型.所以对于模型中存在模型数组的,还是要对数组指定类型,有两种方式

[Student mj_setupReplacedKeyFromPropertyName:^NSDictionary *{    return @{};}];

类似这种方式,返回一个字典,来为Student类中的属性改名

@implementation Student+ (NSDictionary *)replacedKeyFromPropertyName {    return @{@"desc" : @"description"             };}@end

通过在类的实现文件中重写replacedKeyFromPropertyName方法,因为NSObject+MJProperty.h中对NSObject方法进行了扩展,replacedKeyFromPropertyName也是NSObject的属性了,所以通过这种方式可以对属性改名.

同理objectClassInArray属性也是一样的道理,现在objectClassInArray是一定要指定模型中数组元素的类型的,以后MJExtension支持泛型估计就不用了.

当然,通过这样的方式有时候对于复杂的jason我们不一定能够通过ESJsonFormat-Xcode一次进行完美的生产模型,这就要我们在生成的基本模型框架上进行一些校正,最后在调用的时候只要一句话

Student *stu = [Student mj_objectWithKeyValues:jason];

jason是你的数据,这里由于是id类型,也可以传字典,plist,总之,总有一款适合你.

转载于:https://my.oschina.net/u/2435827/blog/608139

你可能感兴趣的文章
Mongodb定期备份
查看>>
Confluence 6 数据库设置
查看>>
刨根问底-struts-怎么加载配置的相应的信息
查看>>
解决mysql数据库大小写敏感问题
查看>>
jsp页面组成
查看>>
LCS记录
查看>>
C++开源跨平台类库集
查看>>
everything搜索工具小技巧
查看>>
一个 Sql语句优化的问题- STATISTICS 统计信息
查看>>
你不知道的KVO的内部实现
查看>>
转】MyEclipse10安装Log4E插件
查看>>
windows server2012r2 安装NET Framework 3.5
查看>>
[osg][osgEarth][原]基于OE自定义自由飞行漫游器(初级版)
查看>>
Java遇见HTML——JSP篇之JSP基础语法
查看>>
导出一个数据库中的表中的某一条数据
查看>>
JQuery初体验
查看>>
全球顶级黑客对决AI GeekPwn2017黑客大赛看点全面曝光
查看>>
浅析前端开发中的 MVC/MVP/MVVM 模式
查看>>
toString、equals和hashCode重写
查看>>
sizeof 和strlen的区别
查看>>