3

有时在尝试从 UITableView 中删除一行时出现此错误:

-[UITableView _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];

    }
}
4

2 回答 2

4

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

于 2012-03-14T07:40:12.870 回答
1

不太确定..但试试这个(曾经为我工作)

首先动画 UITableView 删除,然后从数组中删除对象。

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

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

    }
于 2012-03-14T07:35:48.780 回答