这似乎是一个典型的问题,但我有一个 UITableView 对两个单独的数据源具有相同的行为。设计类层次结构以减少重复和 if/else 条件的最佳方法是什么?视图控制器将对两个数据源做同样的事情,它们只是在它们的数据集中是唯一的。我应该让父控制器设置其数据源/相应的标题吗?
当使用 UISegmentControl 显示具有相同界面但数据源不同的两个视图时,同样的问题也很重要。
这似乎是一个典型的问题,但我有一个 UITableView 对两个单独的数据源具有相同的行为。设计类层次结构以减少重复和 if/else 条件的最佳方法是什么?视图控制器将对两个数据源做同样的事情,它们只是在它们的数据集中是唯一的。我应该让父控制器设置其数据源/相应的标题吗?
当使用 UISegmentControl 显示具有相同界面但数据源不同的两个视图时,同样的问题也很重要。
请注意这里的术语。UITableView 有一个叫做 a 的东西,dataSource
但你似乎本质上指的是两组不同的数据。
在您建议的情况下,在表dataSource
(遵守 UITableViewDataSource 协议的对象)中,我将有三个数组。
在 dataSource 方法中,使用 currentViewedArray 作为表数据的来源。
然后,将 currentViewedArray 设置为您要查看的任何数组:
self.currentlyViewedArray = self.datasetOneArray;
[theTableView reloadData];
您可以使用 UISegmentedControl 在两个数组之间切换。