iOS中MJExtension使用详解
iOS开发中MVC模式最为常见,M代表模型,字典转成模型数据可以简化很多操作,下面我们说一下具体用法。
1、将字典转换成模型对象,模型中的属性名和responseObject字典中的字段名一致,我们得把换的名字和字典中的 key联系起来, 不然转换成模型后, 属性是没有值得
@interface CCServiceNameCache : NSObject
@property (nonatomic, strong) NSArray *data;
@property (nonatomic, copy) NSString *returnCode;
@end
@interface CCServiceNameCacheItem : NSObject
@property (nonatomic, copy) NSString *recordid;
@property (nonatomic, copy) NSString *objid;
@property (nonatomic, copy) NSString *label;
@property (nonatomic, copy) NSString *tabname;
CCServiceNameCache *nameCache = [CCServiceNameCache mj_objectWithKeyValues:responseObject];
2、将data对应的数组转换成模型对象
+ (NSDictionary *)mj_objectClassInArray{
return @{@"data":[CCServiceNameCacheItem class]};
}
3、属性名和关键字冲突, 我们需要变更属性名, 比如 JSON 里是 id, 我们最好不要用 id
+ (NSDictionary *)mj_replacedKeyFromPropertyName {
return @{@"shareruleid": @"id", @"memberID": @"userorgroupid"};
}