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