0

我有一个带有自定义 tableviewCell 的 tableview。在这个 tableview 单元格中,我有一个用于删除一行的按钮。

首先,我通过以下代码创建这个 tableview。

   UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 70, 320, 150) style:UITableViewStylePlain];
    tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight|UIViewAutoresizingFlexibleWidth;
    tableView.delegate = self;
    tableView.dataSource = self;
    tableView.backgroundColor = [UIColor blackColor];
    tableView.separatorStyle = normal;
    [tableView reloadData];

我有一个约会数组,用作我的数据源。在我的 cellForRowAtIndex 中,我使用以下代码将按钮附加到操作。

 cell.btnDelete.tag = indexPath.row;
    [cell.btnDelete addTarget:self action:@selector(deleteAppointment:) forControlEvents:UIControlEventTouchUpInside];

然后我有自己的行动。

-(void)deleteAppointment:(id) sender{
        NSLog(@"till here");
    UIButton *button = (UIButton *)sender;
    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:button.tag inSection:0];
    NSLog(@"indexpathc: %d",indexPath.row);

    [tableView beginUpdates];
    [tableView deleteRowsAtIndexPaths: [NSArray arrayWithObject:indexPath]
                     withRowAnimation: UITableViewRowAnimationFade];
    [_exceptions removeObjectAtIndex:indexPath.row];
    [tableView endUpdates];
}

它在我的日志中返回正确的索引路径,但它不会删除我的 tableview 中的行。有谁能够帮助我?

亲切的问候

4

1 回答 1

0

您还需要更新方法numberOfRowsInSection。例如,如果您将元素保存在数组中,请从中删除一个元素并返回更新后的数组numberOfRowsInSection

于 2012-12-04T15:24:12.003 回答