Highjack或阻止UITableView didSelectRowAtIndexPath

jdo*_*dog 1 objective-c uitableview didselectrowatindexpath ios

我试图找到一种方法来防止或劫持didSelectRowAtIndexPath:.当用户在tableview中选择一行时,我想首先抛出一个警告视图,说"如果你这样做,将从CD中删除数据"."如果你继续,我们将把数据同步到服务器".

用户单击是继续.我希望防止在同步完成之前选择新单元格.如果同步失败,我想弹出警告告诉用户它失败然后停止didSelectRowAtIndexPath:发射,从而阻止他们触摸的新单元被选中.

如果同步成功,那么我想要didSelectRowAtIndexPath:被调用.

最好的方法是劫持willSelectRowAtIndexPath:

War*_*ton 5

实现委托方法

-(NSIndexPath *)tableView:(UITableView *)tableView willSelectRowAtIndexPath:(NSIndexPath *)indexPath

并返回nil相关的indexPath

这将停止选择相关的单元格.

来自文档 UITableViewDelegate

返回值一个索引路径对象,用于确认或更改所选行.如果要选择其他单元格,则返回indexPath以外的NSIndexPath对象.如果您不想选择行,则返回nil.