滚动视图中有两个带有表视图的视图控制器

时间:2015-11-07 10:07:22

标签: ios swift uitableview

我应该如何为以下场景实现表视图 - 数据源体系结构:

  • 两个视图控制器,每个视图控制器都包含自己的表视图。
  • 表格视图单元格相同
  • 不同的数据源(一个应显示名称,另一个显示城市)
  • 视图控制器位于水平滚动视图内
  • 数据可以从table1传输到table2

我的问题是我不知道表示表格视图的最佳方式是什么。

  • 我应该有一个具有一个表视图和不同数据源的视图控制器吗?
  • 两个具有两个表视图的视图控制器?

任何人都有一个很好的解决方案吗?  我尝试了很多解决方案,但我的问题始终是我没有办法将数据从一个传输到另一个,因为我无法访问数据源或使用协议时委托是零。

1 个答案:

答案 0 :(得分:1)

你肯定只有一个Tableview和一个视图控制器(如果可能)有2个不同的数据源。编程的基本规则之一是永远不要重复自己。

说你2个视图控制器A和B. A和B都是同一ViewController类的实例,例如A = SomeViewController()和B = SomeViewController()。在viewDidLoad中,您可以指定要使用的数据源。

如果您在将数据从Viewcontroller A传输到Viewcontroller B时遇到问题,可以在SomeViewController类上创建一个公共方法,它将向数据源添加对象(例如addCityToDatasource:)

然后,例如,如果你想要一个从B到A的城市,在 viewController B中你可以调用A.addCityToDataSource("东京"),这将把城市添加到A&#39 ; s数据源