如何以编程方式模拟commitEditingStyle数据源方法?

时间:2012-08-08 09:49:17

标签: iphone objective-c ios xcode

我有表视图我有覆盖方法commitEditingStyle:我在其中删除特定行。我有另一个按钮来执行相同的功能。是否可以调用相同的commitEditingStyle:方法以便我可以重用代码,或者我是否需要编写单独的函数来执行此操作。但它将被复制代码。

TIA

1 个答案:

答案 0 :(得分:0)

不要假装你是桌面视图。相反,将您的实际删除代码包装在一个spearate函数中,并在真正的委托方法的实现中,调用那个,如下所示:

- (void)tableView:(UITableView *)tv commitEditingStyle:(UITableViewCellEditingStyle)s forRowAtIndexPath:(NSIndexPath *)ip
{
    if (s == UITableViewCellEditingStyleDelete)
        [self deleteRowAtIndexPath:ip];
}

- (void)deleteRowAtIndexPath:(NSIndexPath *)ip
{
    // put actual deletion code here
}

然后,当你想'模拟'时,只需致电:

[self deleteRowAtIndexPath:anIndexPath];