删除行UITableView问题

时间:2009-07-23 12:19:55

标签: objective-c uitableview

我正在使用此代码......但它已经终止了我的应用程序几次:

- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
forRowAtIndexPath:(NSIndexPath *)indexPath {
    //FeedArray is NSMutableArray
    if (editingStyle == UITableViewCellEditingStyleDelete) {
        [self.tableView beginUpdates];
        [FeedArray removeObjectAtIndex:indexPath.row];

        [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath]
         withRowAnimation:UITableViewRowAnimationFade];
    }
    [self.tableView endUpdates];
}

为什么会这样?还有其他方法吗?

2 个答案:

答案 0 :(得分:0)

我认为[self.tableView endUpdates];必须在if{}

[self.tableView beginUpdates];必须在if{}

之前

答案 1 :(得分:0)

我使用了这样的代码,它运行良好:

if (editingStyle == UITableViewCellEditingStyleDelete) 
{

    [self.tableView beginUpdates];

    //Remove the item from the array (i.e. update the data source).
    [self.arrayList removeObjectAtIndex:indexPath.row];

    //Delete the row from the table.
    [self.tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

    [self.tableView endUpdates];
}