1.ViewModel
//处理网络获取的数据
- (void)handleDataWith:(NSMutableDictionary *)dict
Success:(void (^)(NSArray *arr))success
failure:(void(^)(NSError *error))failure;
//处理网络获取的数据
- (void)handleDataWith:(NSMutableDictionary *)dict
Success:(void (^)(NSArray *arr))success
failure:(void(^)(NSError *error))failure{
[CSHttpRequest getAFN:@"/index.php?g=api&m=children&a=childrenById" parma:dict callback:^(id backdic) {
NSLog(@"%@",backdic);
NSArray *temp = backdic[@"data"];
NSMutableArray *tmpArr=[NSMutableArray array];
for (NSDictionary *tempDic in temp) {
BabyInfoModel *model = [BabyInfoModel getInfoWithDict:tempDic];
[tmpArr addObject:model];
}
success(tmpArr);
} errorCallBack:^(NSDictionary *errodic) {
}];
}
2.Model
model不处理任何逻辑
3.view
view层根据model进行赋值
#pragma mark - setData
- (void)setData:(BabyInfoModel *)data{
if (data) {
NSLog(@"%@",data);
_data=data;
//NSLog(@"%@",data.token);
[self loadViewData];
}
}
- (void)loadViewData{
//头像
[self.icon sd_setImageWithURL:[NSURL URLWithString:_data.avatar] placeholderImage:[UIImage imageNamed:@"背景1242"]];
//姓名
[self.name setText:_data.name];
//班级
[self.detailClass setText:_data.grade];
// 地址
[self.address setText:_data.school];
self.defaul.hidden = [_data.is_default isEqualToString:@"0"] ? YES:NO;
}
4.VC
- (void)requestBabyInfo{
NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[@"uid"] =@([UserTool userInfo].mId);
dict[@"is_default"] = @1;
BabyInfoViewModel *babyInfo = [[BabyInfoViewModel alloc] init];
(这里写成单例或者类方法会比较好点)
WS(weakself);
[babyInfo handleDataWith:dict Success:^(NSArray *arr) {
MYLog(@"%@",arr.description);
[weakself.dataArr removeAllObjects];
[weakself.dataArr addObjectsFromArray:arr];
if(weakself.dataArr.count != 0){
dispatch_async(dispatch_get_main_queue(), ^{
BabyInfoModel *model = weakself.dataArr[0];
weakself.babyName = model.name;
weakself.accept_addr = model.address;
double lat = [model.school_lat doubleValue];
double lng = [model.school_lng doubleValue];
CLLocationCoordinate2D receive = CLLocationCoordinate2DMake(lat, lng);
MYLog(@"%f",lat);
weakself.receive = receive;
weakself.babyId = model.babyId;
weakself.accept_addr = [NSString stringWithFormat:@"%@",model.address];
[weakself.tableView reloadData];
});
}
} failure:^(NSError *error) {
}];
}