一个视图控制器中的两个表格视图

8

我在一个视图控制器中有一个按钮和两个tableViewControllers。因此,如果我按下该按钮,第一个表视图控制器将出现,并显示一些行数据。如果我在第一个表视图控制器中选择任何一行,则第二个表视图控制器将出现,并需要显示所选的第一个表视图控制器行的相应数据。在这里,我们需要在一个视图控制器中同时使用2个表视图委托方法。这是可能的吗?


为什么你不使用UINavigationController呢? - Sviatoslav Yakymiv
你是不是想说“表格视图”而不是“表格视图控制器”?否则,一个控制器如何在另一个控制器中使用?你可以从一个控制器转场到另一个控制器。或者你可以使用同一个控制器来控制多个表格视图。我有没有读错什么? - Victor Engel
你说你点击一个按钮,然后“表视图控制器将出现”,当你在第一个表格视图中选择一个单元格时,“第二个表视图控制器将出现”。这是否意味着两个表格视图不会同时显示?或者,在任何给定时间两个表格视图都是可用的? - Diego A. Rincon
1个回答

25

是的。由于数据源和代理方法提供了对表格视图的引用,您可以简单地检查它是否等于您拥有的第一个或第二个表格。

例如:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
  if ([tableView isEqual:_firstTable]) {
    // Do something
  }

  else { // tableView == _secondTable
    // Do something else
  }
}

1
我也想建议这个,或者你可以将第二个表格作为嵌入式视图控制器从第二个视图控制器中呈现。 - Kendall Helmstetter Gelner
1
或者您可以在nib文件的属性编辑器中为视图添加标签。然后像上面那样检查标签。例如,如果tableview.tag == 1,则执行某些操作,否则执行其他操作。 - neelabh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接