美文网首页
MJExtension使用

MJExtension使用

作者: 话少为环保 | 来源:发表于2016-11-11 00:15 被阅读21次

复杂的字典 --> 模型 (模型的数组属性里面又装着模型)

模型类Ad和StatusResult定义:

@interface Ad : NSObject
@property (copy, nonatomic) NSString *image;
@property (copy, nonatomic) NSString *url;
@end@interface StatusResult : NSObject/** 数组中存储模型Status类型数据 */
@property (strong, nonatomic) NSMutableArray *statuses;/** 数组中存储模型Ad类型数据 */
@property (strong, nonatomic) NSArray *ads;
@property (strong, nonatomic) NSNumber *totalNumber;
@end#import "MJExtension.h"/* 数组中存储模型数据,需要说明数组中存储的模型数据类型 */
@implementation StatusResult/* 实现该方法,说明数组中存储的模型数据类型 */+ (NSDictionary *)mj_ objectClassInArray{ return @{ @"statuses" : @"Status", @"ads" : @"Ad" };}@end

使用实例:

NSDictionary *dict = @{ @"statuses" : @[ @{ @"text" : @"Nice weather!", @"user" : @{ @"name" : @"Rose", @"icon" : @"nami.png" } }, @{ @"text" : @"Go camping tomorrow!", @"user" : @{ @"name" : @"Jack", @"icon" : @"lufy.png" } } ], @"ads" : @[ @{ @"image" : @"ad01.png", @"url" : @"http://www.ad01.com" }, @{ @"image" : @"ad02.png", @"url" : @"http://www.ad02.com" } ], @"totalNumber" : @"2014"};//字典转模型,支持模型的数组属性里面又装着模型
StatusResult *result = [StatusResult mj_objectWithKeyValues:dict];//打印博主信息
for (Status *status in result.statuses) { 
   NSString *text = status.text; 
   NSString *name = status.user.name; 
   NSString *icon = status.user.icon; 
   NSLog(@"text=%@, name=%@, icon=%@", text, name, icon);
}
// text=Nice weather!, name=Rose, icon=nami.png// text=Go camping tomorrow!, name=Jack, icon=lufy.png//打印广告
for (Ad *ad in result.ads) { 
     NSLog(@"image=%@, url=%@", ad.image, ad.url);
}// image=ad01.png, url=http://www.ad01.com// image=ad02.png, url=http://www.ad02.com

原文有更详细的其他类型字典模型转化

相关文章

网友评论

      本文标题:MJExtension使用

      本文链接:https://www.haomeiwen.com/subject/yyaxpttx.html