我需要实现具有 2 个不同视图的项目列表:文本列表和照片列表,类似于 iPad 上的 iBooks 所做的:
但是,我有 4 种不同类别的项目:电影、音乐、游戏和书籍,每一种都有不同的特征,需要显示不同的信息。用户将使用下拉菜单而不是选项卡栏更改类别,因为选项卡栏已在使用中(这将是应用程序的库部分)。
我的意图是为项目的文本列表使用表格视图,为照片列表使用集合视图。对于每个项目类别,表格视图和集合视图的数据源可能相同,因为集合视图只提供较少的信息。
我的问题是使用哪种模式。我本可以有:
- A. 4 个表视图控制器 + 4 个集合视图控制器
- B. 1个表视图控制器+1个集合视图控制器(分别管理1个表视图和1个集合视图,有4种表视图单元格,4种集合视图单元格)。
- C. 1个表视图控制器+1个集合视图控制器(分别管理4个表视图和4个集合视图)
- D. 4个视图控制器(每个管理1个表和1个集合视图,共享数据源)
- E. 1 个视图控制器(管理所有内容、1 个表格视图和 1 个集合视图、4 个不同的表格视图单元格、4 个不同的集合视图单元格)。
我相信解决方案 A 和 D 在代码方面应该是最干净的,B 是最容易实现的。