如何在editButtonItem中对“删除”进行操作?

时间:2012-03-17 07:35:41

标签: iphone uitableview

我在我的桌面视图中已经

self.navigationItem.rightBarButtonItem = self.editButtonItem;

单击减号按钮显示删除按钮。我想知道如何对此删除按钮进行操作。 Tableview显示了sqlite数据库中的项目列表。我正在使用Xcode 4.2

5 个答案:

答案 0 :(得分:4)

删除按钮已链接到您的表格视图,点击它会将tableView:commitEditingStyle:forRowAtIndexPath:发送到您的表格视图的数据源。你在这里删除。

此方法通常包含在UITableViewController子类的模板中。

答案 1 :(得分:1)

如果您查看tableView:commitEditingStyle:forRowAtIndexPath: UITableViewDataSource Protocol Reference,可以找到 [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];

  

要求数据源提交插入或删除   接收器中的指定行。

在此方法中,您将获得要删除的单元格的索引路径。您必须删除四个数据源中的corespondent元素。您还需要删除表格视图单元格。

{{1}}

答案 2 :(得分:1)

在表视图数据源(可能是您的表视图控制器)中实现tableView:commitEditingStyle:forRowAtIndexPath:。有关详细信息,请参阅该方法的文档或任何Apple示例代码项目(包括您从Xcode“master-detail app”模板获得的内容)。示例用法。

答案 3 :(得分:1)

当您按下delete按钮时,它会自动调用delegate的{​​{1}}方法:

UITableView

答案 4 :(得分:0)

我想补充一点,你应该确保你正在重新加载表数据,以便它可以在屏幕上更新。否则看起来它什么都没做。

-(void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
    [self.myMutableArray removeObjectAtIndex:indexPath.row];
    [self.tableView reloadData];
}