首页 > 代码库 > 两种局部刷新UITableView的方法的使用条件
两种局部刷新UITableView的方法的使用条件
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//1.取消选中这一行
[tableView deselectRowAtIndexPath:indexPath animated:YES];
//2.获取当前选中的数据
Shop *shop = _shops[indexPath.row];
//3.控制当前cell是否被选中
if( [_deleteShops containsObject:shop] ){
//如果之前已选中,现在取消选中
[_deleteShops removeObject:shop];
}else{
//如果之前已取消选中,则现在选中
[_deleteShops addObject:shop];
}
//4.刷新表格(1.此局部刷新方法的使用条件:在tableView总数量不变的情况下,才能用它进行局部刷新)
[tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationMiddle];
//(2.此局部刷新方法的使用条件:调用此方法删除多少行数据,tableView也要删除相同数量的数据)
[tableView deleteRowsAtIndexPaths:[indexPath] withRowAnimation:UITableViewRowAnimationTop];
}