ios在beginUpdates中重新加载tableview

时间:2014-01-24 10:11:46

标签: ios tableview

我使用类似

的方法更改单元格的高度(下载图像时)
-(void)didHeightChanged:(float)imageHeight atIndex:(NSInteger)indexPath
{
   [dictionary setObject:imageHeight forKey:indexPath];
    [self.tableView beginUpdates];
    [self.tableView endUpdates];
}

一切都适用于第一个数据,但是当我用第二个数据重新加载UITableView时,可能beginUpdates方法没有结束而且我遇到了问题 - 当我删除并重新加载UITableView时,单元格不要消失,UITableView显示错误的细胞  如何在重新加载新数据之前立即停止beginUpdates

2 个答案:

答案 0 :(得分:0)

您应该致电[self.tableView reloadData][self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathWithRow:index inSection:0]]]; // or indexPath if instead of passing a NSInteger you pass a NSIndexPath * to the method.

答案 1 :(得分:0)

我找到了答案

[self.tableView beginUpdates]; [self.tableView endUpdates];

它是在后台线程中调用的......