iOS Json解析框架之MJExtension使用详解
2019独角兽企业重金招聘Python工程师标准>>>
1. Plist → 模型数组
控制器中引用#import "MJExtension.h"
模型数组 = [模型类名 objectArrayWithFilename:@"文件名.plist"];
2. 对NSLog的优化,解决 调试时,打印模型,只打印出内存地址的问题
使用方法:在模型类的.m文件中,引用#import "MJExtension.h"
在@implementation 和 @end之间,写上MJLogAllIvrs
3. 对NSCoding的优化,不用再写繁琐的解档和归档方法了
使用方法:在模型类的.m文件中,引用#import "MJExtension.h"
在@implementation 和 @end之间,写上MJCodingImplementation
4. 字典数组 → 模型数组
4.1 场景一: [ 字典1,
字典2,
字典3 ]
如果每个字典都是一个模型,可以用
NSArray *modelArray = [模型类名 objectArrayWithKeyValuesArray:字段数组];
4.2 场景二:在场景一的基础上,每个字典里面,有数组(假设数组的key值是arrayName),数组里面存放着若干个相同的模型,使用下面的方法
使用方法:
首先在模型类.m文件中,引入#import "MJExtension.h"
然后在 @implementation 和 @end之间 写上
- (NSDictionary *)objectClassInArray
{
return @{@"arrayName" : [模型类名 class]};
}
5. 如果 服务器传过来的 字典数组里的字典的Key,是OC里的关键字,而使用MJExtention的前提是,模型里的属性名和数组的key一致才行(区分大小写),怎么办?
使用replacedKeyFromPropertyName
使用方法:1.在模型类.m文件引入"MJExtension.h"
2.实现方法
+ (NSDictionary *)replacedKeyFromPropertyName
{
return @{@“非关键字的属性名” : @“数组的key”};
}
6. 单个字典 → 单个模型
+ (instancetype)objectWithKeyValues:(NSDictionary *)keyValues
转载于:https://my.oschina.net/daniels/blog/539648
iOS Json解析框架之MJExtension使用详解相关推荐
- java构造和解析json_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- java json解析 代码_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- java构建json_Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- php jwt token 解析,JSON Web Token(JWT)入坑详解
JSON Web Token(JWT)入坑详解 龙行 PHP 2019-6-17 1651 0评论 /** JWT生成类 **/ class Jwt { private $al ...
- iOS 7: iPhone/iPad应用开发技术详解
iOS 7: iPhone/iPad应用开发技术详解 作者:刘一道 出版社:机械工业出版社 出版年:2013-11 页数:507 定价:79.00元 ISBN:9787111440512 样章下载:h ...
- 2.Spring Boot 中Json的使用,Jackson注解详解
一.前言 1.介绍 我们常在项目中使用的Json转换工具是fastjson,事实上spring本身集成了非常优秀的json工具,分别为Jackson,Gson,JSON-B,但是官方项目中默认推荐使用 ...
- php json.parse,JSON.parse()与JSON.stringify()和eval()使用方法详解
这次给大家带来JSON.parse()与JSON.stringify()和eval()使用方法详解,JSON.parse()与JSON.stringify()和eval()使用的注意事项有哪些,下面就 ...
- 自动化测试框架[Cypress元素操作详解]
前提 已经熟练掌握了Cypress的基本知识,请参考自动化测试框架[Cypress概述]和自动化测试框架[各自动化测试框架比较] 已经熟练掌握Cypress环境配置,请参考自动化测试框架[Cypres ...
最新文章
- 使用Python,dlib,OpenCV在实时的视频流中进行面部标志检测
- 雷林鹏分享:Lua 数据库访问
- Flink JAR包上传和运行逻辑
- 使用PyTorch训练图像分类器
- 与年轻人“玩在一起”的QQ音乐,正抢跑音娱赛道?
- 基于深度学习的图像语义分割技术概述之背景与深度网络架构
- 解决element-ui的el-select组件文字超过宽度时不出现横向滚动条问题
- UVA12657 Boxes in a Line【模拟】
- 阶段5 3.微服务项目【学成在线】_day02 CMS前端开发_11-webpack研究-npm和cnpm安装配置...
- 将mysql服务从C盘(原),安装到新路径D盘下(其中的数据一并迁移)
- editorloop 占用_【交换机在江湖-维护无忧系列】CPU占用率高故障专题(3)-常见故障案例...
- C++ 房贷计算 : 等额本金和等额本息
- Spring Boot网上图书商城
- CentOS 官网下载及版本说明
- 普通u盘linux不识别,Linux识别不了u盘怎么办
- 使用vue echarts 制作地图map
- 安装Dev c++后,编译文件出现未编译的解决方法
- 99%没用过的奇怪网站,黑科技应用网站推荐
- android 三星打印机,安卓逆袭传统 三星X4300LX复合机首测
- 攻击微软、三星等大型企业的黑客组织LAPSUS$成员被逮捕