MVVM初识
来源:互联网 发布:网络舆情汇报 编辑:程序博客网 时间:2024/05/01 02:11
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) { }];}
0 0
- 初识MVVM
- MVVM初识
- MVVM初识
- 初识MVVM
- 初识MVVM的心得
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- MVVM
- mvvm
- MVVM
- MVVM
- mvvm
- MVVM
- 关于今天在用spring字符集过滤器遇到的问题
- jQuery 之缓存
- Hbuilder/H5 功能汇总
- @SuppressLint("NewApi")和@TargetApi()的区别
- webrtc测试服务器编译和搭建
- MVVM初识
- Zigbee性能分析
- PHP+mysql链接
- jQuery 放大镜(面向过程)
- RecyclerView的使用教程1
- Linux-C基础知识学习:C语言作业-把100~200之间的不能被3整除的数输出
- <link>标签中的rel="sheetstyle"含义
- java 模拟浏览器进行get和post请求
- CSS3 animation--仿写炫酷的下拉菜单