Ios 尝试从UITableView中删除行时出现断言失败错误

Ios 尝试从UITableView中删除行时出现断言失败错误,ios,uitableview,row,assertion,Ios,Uitableview,Row,Assertion,有时我在尝试从UITableView中删除行时会出现以下错误: -[UITableView\u endCellAnimationsWithContext:]中的断言失败 其他时候,它会删除没有问题的行 这是我的密码: - (void) tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)i

有时我在尝试从UITableView中删除行时会出现以下错误:

-[UITableView\u endCellAnimationsWithContext:]中的断言失败

其他时候,它会删除没有问题的行

这是我的密码:

- (void) tableView:(UITableView *)tableView
commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
 forRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (editingStyle == UITableViewCellEditingStyleDelete)
    {
     [[self displayedObjects] removeObjectAtIndex:[indexPath row]];


     // Animate deletion
     NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
     [[self tableView] deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];

    }
}

不太确定。。但是试试这个(曾经为我工作过一次)

首先设置UITableView删除的动画,然后从阵列中删除对象

if (editingStyle == UITableViewCellEditingStyleDelete)
    {
     // Animate deletion
     NSArray *indexPaths = [NSArray arrayWithObject:indexPath];
     [[self tableView] deleteRowsAtIndexPaths:indexPaths withRowAnimation:UITableViewRowAnimationFade];

    [[self displayedObjects] removeObjectAtIndex:[indexPath row]];

    }

听起来您的numberOfRowsInSection在进入编辑模式时有时返回错误的整数。

请提供有关错误的详细信息是,没错。该对象将从数组中删除,但在删除行之前,会再次调用numberOfRowsInSection,然后再次从磁盘加载该数组,并给出删除之前的编号,因为我加载该数组时出现问题。我把一个断点放在数字行部分,现在一切都清楚了。非常感谢你。