Ios 如何在重新排序或删除行后正确重新加载UITableView?

Ios 如何在重新排序或删除行后正确重新加载UITableView?,ios,objective-c,uitableview,Ios,Objective C,Uitableview,我有一个UITableView,它的单元格也显示它们的行号。显然,在重新排序或删除一行之后,我还必须更新所有可能的行号标签 我想,一定有更好的方法来实现这一点,而不干扰删除行的相关动画 - (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath { [self.tableView performSelector:@selector(reloadData) w

我有一个UITableView,它的单元格也显示它们的行号。显然,在重新排序或删除一行之后,我还必须更新所有可能的行号标签

我想,一定有更好的方法来实现这一点,而不干扰删除行的相关动画

- (void)tableView:(UITableView *)tableView didEndEditingRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.tableView performSelector:@selector(reloadData) withObject:nil afterDelay:0.6];
}
和重新排列一行

-(void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath
{
    ...
    [self.tableView performSelectorOnMainThread:@selector(reloadData) withObject:nil waitUntilDone:NO];
}

难道不是吗?

你真正想做的是什么。。?是否要重新加载数据…?我将更新模型对象以反映其在列表中的正确新位置。因此,重新加载表视图的数据会将这些更新传播到UI。是否尝试将更新/删除包装到:[self.tableview beginUpdates];[self.tableview endUpdates]@mvadim在我所说的场景中,我使用Apple UITableView标准行为(如-[UITableView setEditing:animated:])以交互方式移动/删除一行。Apple负责适当地移动/删除行。我不知道用beginUpdates/endUpdates包装什么。[self.tableView beginUpdates];[self.tableView deleteRowsAtIndexPaths:@[[NSIndexPath IndeExpathForRow:…inSection:…]]带RowAnimation:UITableViewRowAnimationAutomatic];[self.tableView endUpdates];