我在我的桌面视图中已经
self.navigationItem.rightBarButtonItem = self.editButtonItem;
单击减号按钮显示删除按钮。我想知道如何对此删除按钮进行操作。 Tableview显示了sqlite数据库中的项目列表。我正在使用Xcode 4.2
答案 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];
}