1

我正在寻找一种直接调用编辑方法的方法。

- (void)tableView:(UITableView *)theTableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath

我有我所有的逻辑来动画操纵单元格,在这个方法中从我的模型数组中删除等等。当用户滑动、添加或重新排列时会调用它,但我想手动/直接调用它,因为后台线程会更改我的模型。

我已经像这样构建了一个 NSIndexPath:

NSIndexPath *path = [NSIndexPath indexPathForRow:i inSection:1];

我只是不知道如何调用类似的东西:

[self.tableview commitEditingStyle:UITableViewCellEditingStyleDelete forRowAtIndexPath:path];

我是否需要以另一种方式访问​​这种普通样式 UITableView 的方法?

谢谢:)

4

2 回答 2

1

如果您只想执行代码,我不明白为什么不能调用该方法。文档给出了一个重要的暗示

- (void)setEditing:(BOOL)editing animated:(BOOL)animate

无论如何都会调用该数据源方法。将代码从该方法重构为另一个方法并从数据源方法和代码中的其他地方调用它会更有意义,如果这确实是您想要做的。

如果您真的只想反映模型中的更改,请致电[tableView reloadData]- 这就是它的用途。

于 2010-04-14T14:11:06.657 回答
0

我不确定,但也许如果您调用该方法

- (void)setEditing:(BOOL)editing animated:(BOOL)animate

可能是调用了 commitEditingStyle 方法。

于 2010-04-14T13:07:37.023 回答