我应该如何为我的以下场景实现 TableView -数据源架构:
- 两个 View Controller ,每个 View Controller 都包含自己的 TableView 。
- 表格 View 单元格相同
- 不同的数据源(一个应该显示名称,另一个显示城市)
- View Controller 在水平 ScrollView 中
- 数据可以从table1转移到table2
我的问题是我不知道表示 TableView 的最佳方式是什么。
- 我应该有一个 View Controller 、一个 TableView 和不同的数据源吗?
- 具有两个 TableView 的两个 View Controller ?
谁能给我一个好的解决方案?
我尝试了很多解决方案,但我的问题始终是我无法将数据从一个传输到另一个,因为我无法访问数据源,或者在使用协议(protocol)时委托(delegate)为 nil。
最佳答案
你绝对应该只有一个 Tableview 和一个 View Controller (如果可能的话)和 2 个不同的数据源。编程的基本规则之一是永远不要重复自己。
假设你有 2 个 View Controller A 和 B。 A 和 B 都是同一个 ViewController 类的实例,例如A = SomeViewController() 和 B = SomeViewController()。在 viewDidLoad 中,您可以指定要使用的数据源。
如果您在将数据从 Viewcontroller A 传输到 Viewcontroller B 时遇到问题,您可以在 SomeViewController 类上创建一个公共(public)方法,它将对象添加到数据源(例如 addCityToDatasource:)
例如,如果您想要一个从 B 到 A 的城市,在 viewController B 中调用 A.addCityToDataSource("Tokyo") 会将城市添加到 A 的数据源
关于ios - ScrollView 内有 TableView 的两个 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33581485/