UITableView刷新某一行,改变数据源的问题
2015-12-21 16:23
302 查看
对于从字典中取值给cell赋值的,可以创建一个可变字典,每次从这个可变字典中取值赋值给cell,需要改变时,将这个可变字典中的值改变,然后再刷新即可。例如:
如果每次是数组赋值给cell,可以定义一个可变数组,每次刷新前给这个可变数组的数据源进行改变,如代码:
[WebConnect webPOSTConnectWithWithStrUrl:E_BindingUrl pramaters:nil success:^(id responseObject) { NSLog(@"=====+++++++%@",responseObject); NSString *str = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"success"]]; if ([str isEqualToString:@"1"] ) { NSString *bingState = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"bindState"]]; if ([bingState isEqualToString:@"0"]) {//未绑定状态 [_typeDic setObject:@"绑定" forKey:@"type"]; [_typeDic setObject:@"微信昵称" forKey:@"name"]; }else{//绑定状态 [_typeDic setObject:@"解除" forKey:@"type"]; NSString *name = [NSString stringWithFormat:@"%@",[responseObject objectForKey:@"nickName"]]; name = [name stringByRemovingPercentEncoding]; [_typeDic setObject:name forKey:@"name"]; } } dispatch_async(dispatch_get_main_queue(), ^{ NSIndexPath *te=[NSIndexPath indexPathForRow:0 inSection:0];//刷新第0行 [_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:te,nil] withRowAnimation:UITableViewRowAnimationMiddle]; }); [MBProgressHUD hideHUDForView:self.view animated:YES]; } failure:^(id failure) { [MBProgressHUD hideHUDForView:self.view animated:YES]; [MBProgressHUD showError:@"网络请求失败" toView:self.view]; }];
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellId = @"cell";//唯一标示 _cell = [tableView dequeueReusableCellWithIdentifier:cellId]; if (_cell == 0) { _cell = [[BindingCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId]; _cell.delegate = self; } [_cell setCellAndRow:indexPath.row andDic:_typeDic];//每次都将这个字典赋值给cell return _cell; }
如果每次是数组赋值给cell,可以定义一个可变数组,每次刷新前给这个可变数组的数据源进行改变,如代码:
dispatch_async(dispatch_get_main_queue(), ^{ [self.tableView beginUpdates]; [self.dataSource replaceObjectAtIndex:i withObject:cellModel]; [self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:i inSection:0]] withRowAnimation:UITableViewRowAnimationNone]; [self.tableView endUpdates]; });
相关文章推荐
- 如何给UIViewController瘦身
- 9.使用UITableView来制作一个简易的联系人存储列表
- 自定义UITableView的Seperator
- UIActionSheet常用属性(控件8.3之后失效)
- iOS UITableView的Section Footer加入button
- [easyui]实际应用中遇到的问题
- ueditor-------百度编辑器,跨目录上传图片等
- 使用UITableview实现横向滚动
- String、StringBuffer、StringBuilder区别
- Troubleshooting "Global Enqueue Services Deadlock detected" (Doc ID 1443482.1)
- iOS开发之如何在NSURLRequest中设置自定义header请求头
- UITableView 刷新头部时,头部每次都变为开始的状态,无法记录当前的状态
- 基于ROS_Arduino室内移动机器人SLAM实验测试
- 基于ROS_Arduino室内移动机器人SLAM实验测试
- 基于ROS_Arduino室内移动机器人SLAM实验测试
- 【PHP】PHP include()和require()方法的区别
- ios图片缩放,根据UIImageView Frame的尺寸,自动调整UIImage缩放,保证图片显示不变形
- UIMenuContnroller的使用
- Android BlueDroid(一):BlueDroid概述
- Hello : break continue return