Uitableview 找出已点击的TableView

Uitableview 找出已点击的TableView,uitableview,swift,uigesturerecognizer,Uitableview,Swift,Uigesturerecognizer,我的ViewController有多个uitable视图,我为单元格添加了一个uilongpressurerecognizer。每当有人叫我这个手势时,我都想拿出一件府绸。当我只有一个TableView时,我可以使用: if let indexPath = tableView.indexPathForRowAtPoint(recognizer.locationInView(tableView)) { // code } 现在我有多个TableView我不知道如何告诉它应该使用哪个Tab

我的
ViewController
有多个
uitable视图
,我为单元格添加了一个
uilongpressurerecognizer
。每当有人叫我这个手势时,我都想拿出一件府绸。当我只有一个TableView时,我可以使用:

if let indexPath = tableView.indexPathForRowAtPoint(recognizer.locationInView(tableView)) {
    // code
}
现在我有多个
TableView
我不知道如何告诉它应该使用哪个
TableView
方法来查找
indepath

我是否应该使用自定义
手势识别器
作为标识符?这似乎不是一个真正好的解决方案,因为我必须为这个
ViewController
中的每个
TableView
制作一个新的
gesturecognizer


有人能告诉我一个简单的解决方法吗?

给每个表视图分配一个不同的标记。。在执行任何操作之前,首先检查标记…

假设您的多个表都是视图A的子视图,并且没有重叠:

  • 在视图中获取手势的位置
  • 检查每个表视图的
    框架是否包含该位置
一旦你找到一个,那就是触摸过的桌子


或者,您可以依次获取手势在每个表视图中的位置,并检查它是否在
范围内

如果您不介意我问一下,您是否绝对确定在一个视图控制器上需要多个表视图?听起来像是一个非常糟糕的设计缺陷。是的,我有两个表,因为其中一个表显示了几行,我不想与主表视图一起滚动。如果我可以问的话,为什么它是糟糕的设计?让事情简单有序。如果你把你的设计复杂化,当你正在经历的时候,事情会很容易出错。回答你的问题;我会将表的数据源和委托彼此分离,以便于处理。但如果只是几行数据,我只会对非滚动部分使用标签。我同意@Desdenova。如果可以使用单个表视图,请不要使用多个表视图。