这是一个字典转模型的方法
// 字典转模型
self.topic = [BSToptic mj_objectArrayWithKeyValuesArray:responseObject[@"list"]];
有时候我们有这样的需求,就是服务器返回的数据变量很乱,但在模型中,我们要自己定义变量,然而怎么与服务器的数据保持一致呢,这里有这样的方法。
有时候可能只需要将数组中的某个数据取出来对应模型@"top_cmt" : @"top_cmt[0]"
/**
* 与服务器保持一致
*/
+ (NSDictionary *)mj_replacedKeyFromPropertyName {
return @{@"small_image" : @"image0",
@"large_image" : @"image1",
@"middle_image" : @"image2"
@"top_cmt" : @"top_cmt[0]"
};
}
- 这里我的模型数据在subject里面,所有只能这样用MJExtension了
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
[manager GET:@"https://api.douban.com/v2/movie/us_box" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSMutableArray *dicArray = [NSMutableArray array];
NSArray *dataArray = responseObject[@"subjects"];
for (int i = 0; i<dataArray.count; i++) {
NSDictionary *dic = [dataArray[i] objectForKey:@"subject"];
[dicArray addObject:dic];
}
self.movies = [WXMovie mj_objectArrayWithKeyValuesArray:dicArray];
[self.listView reloadData];
// 创建海报视图
[self createPosterView];
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
}];