博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS MJExtension的使用
阅读量:6166 次
发布时间:2019-06-21

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

前言:

MJExtension是iOS的字典装模型的一个第三方框架。相对于JSONKit和SBJson相比MJExtension更简单易用、功能更强大。

安装:

使用CocoaPods导入(CocoaPods的使用方法在其他文档里面会介绍)

pod 'MJExtension'

在使用该框架的文件里面导入头文件(推荐在pch文件中导入)

#import "MJExtension.h"

格式单一的字典(没有嵌套),转模型:

@interface User : NSObject@property (copy, nonatomic) NSString *name; @property (copy, nonatomic) NSString *sex; @property (copy, nonatomic) NSString *age;
@end
NSDictionary *dict = @{    @"name" : @"Jack", @"sex" : @"男", @"age" : @"20" } User *UserModel = [User Mj_objectWithKeyValues:dict];

字典嵌套字典:

@interface People : NSObject@property (copy, nonatomic) User *User;(上面的User类) @property (copy, nonatomic) NSString *height; @property (copy, nonatomic) NSString *wight;
@end NSDictionary *dict = @{
@"height":@"170"    @"wight":@"70"    @"user":@{
@"name" : @"Jack", @"sex" : @"男", @"age" : @"20" }
}
Poeple *peopleModel = [Pople mj_objectWithKeyValues:dict];

字典嵌套数组,数组里面还有字典:

@interface People : NSObject@property (copy, nonatomic) NSarray *UserArr;(上面的User类) @property (copy, nonatomic) NSString *height_2; @property (copy, nonatomic) NSString *wight;
@end

  @implementation People

 

  

   +(NSDictionary *)mj_objectClassInArray//模型中数组里面的模型

   { 

     return @{

             @"UserArr":@"User",//UserArr是自定义的属性名,User是嵌套的字典类名

             };

   }

 

+(NSDictionary *)mj_replacedKeyFromPropertyName

{

    return @{

             @"UserArr":@"User",//模型和字典的字段不对应需要转化

             };

}

   @end

 
NSDictionary *dict = @{
@"height":@"170"    @"wight":@"70"    @"UserArr":@[                  @{
@"name" : @"Jack", @"sex" : @"男",
@"age" : @"20"
},
@{
@"name" : @"li", @"sex" : @"女", @"age" : @"30" }
]
} People *people = [People mj_objectWithKeysValues:dict]; 数组转化成模型数组 NSArray *arr = @[                  @{
@"name":@"Jack", @"sex":@"男", @"age":@"25" } @{
@"name":@@"wang", @"sex":@"男", @"age":@"26" } ]
NSArray *UserArrModel = [User mj_objectArrayWithValuesArray:arr];

 

GitHub地址 https://github.com/CoderMJLee/MJExtension

转载于:https://www.cnblogs.com/yxl-151217/p/10416972.html

你可能感兴趣的文章
Ionic3与Angular4新特性
查看>>
论文查重福利
查看>>
关注云端搜索技术:elasticsearch,nutch,hadoop,nosql,mongodb,hbase,cassandra 及Hadoop优化...
查看>>
poj2629
查看>>
python之面向对象之反射运用
查看>>
stark组件之分页【模仿Django的admin】
查看>>
块UI样式编辑器下实现NX的功能
查看>>
KMP HDOJ 4300 Clairewd's message
查看>>
NetCore偶尔有用篇:NetCore项目WebApi返回Json属性大小写
查看>>
11.Bean2Document-BEAN转document
查看>>
SVN:Previous operation has not finished; run 'cleanup' if it was interrupted
查看>>
ASP.NET Page执行顺序如:OnPreInit()、OnInit()
查看>>
新闻焦点切换flash应用
查看>>
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口...
查看>>
StringBuffer作为参数传递的问题
查看>>
POJ 1064 Cable master 【二分】
查看>>
HDU problem 5635 LCP Array【思维】
查看>>
leetcode10. 正则表达式匹配
查看>>
redis常用命令--zsets
查看>>
springcloud--Feign(WebService客户端)
查看>>