這是一個字典轉模型的方法
// 字典轉模型
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]"
};
}
屏幕快照 2016-08-13 下午6.12.09.png
- 這里我的模型數據在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) {
}];