UITableView“滑动删除”功能冻结

时间:2011-05-24 20:04:52

标签: iphone objective-c uitableview

点击删除按钮后,我无法弄清楚为什么我的tableView没有更新。

点击后,表格视图“冻结”。如果我单击另一行,以便tableview转到层次结构的另一个级别并单击返回,我可以看到该项目已被删除,一切正常。

这是我的代码:

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath 
{
    //[tableView beginUpdates];    
    if (editingStyle == UITableViewCellEditingStyleDelete) 
    {
        // Do whatever data deletion you need to do...
        [tableView beginUpdates];
        NSManagedObject *obj = (NSManagedObject *)[entityArray objectAtIndex:indexPath.row];        
        [managedObjectContext deleteObject:obj];
        NSError *error;
        [managedObjectContext save:&error];

        // Delete the row from the data source
        [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath, nil] withRowAnimation:YES];

         [self viewWillAppear:YES];

    }
    //[tableView endUpdates];
}

对此问题的任何意见都将不胜感激。

感谢。

2 个答案:

答案 0 :(得分:4)

发现同样的问题并偶然发现了这个帖子。但是在我们的案例中,tableview冻结问题的原因是不同的。

为了子孙后代:

进入编辑模式以显示“插入”或“删除”按钮的UITableViewCell不应将其userInteractionEnabled属性设置为“否”。

通过更正此问题,我们确定了相同的tableview冻结问题。

答案 1 :(得分:1)

我看不到[tableView endUpdates][tableView beginUpdates]开头的if匹配的电话。

因为这个原因,你的桌子冻结了吗?