我使用类似
的方法更改单元格的高度(下载图像时)-(void)didHeightChanged:(float)imageHeight atIndex:(NSInteger)indexPath
{
[dictionary setObject:imageHeight forKey:indexPath];
[self.tableView beginUpdates];
[self.tableView endUpdates];
}
一切都适用于第一个数据,但是当我用第二个数据重新加载UITableView
时,可能beginUpdates
方法没有结束而且我遇到了问题 - 当我删除并重新加载UITableView
时,单元格不要消失,UITableView
显示错误的细胞
如何在重新加载新数据之前立即停止beginUpdates
?
答案 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];
它是在后台线程中调用的......