2

我处于一个假设的情况,我需要列出一所学校的学生。我有一个表视图控制器,它有几个部分,代表一所学校。每所学校都有后续学生。现在,我需要让用户能够通过单击导航控制器顶层视图中的学校名称来查看特定学校的所有学生。

这里的问题是,我是否要扩展我当前的“StudentsViewController”并添加复杂的逻辑以允许它显示个别学校的学生,还是您的专家会推荐一个新类来处理该表?

权衡是相当直接的,因为我确实可以将所有内容放在一个视图控制器中,但代价是一些混乱/复杂的逻辑。另一方面,如果我编写另一个控制器来处理个别学校的学生,将会有大量重复的代码。

专家对此有何建议?

4

2 回答 2

2

我认为最简单的做法是让一个班级处理一系列学校。如果该数组仅包含一项,则可以(可选)不为单个部分显示标题。否则,所有部分都有标题。

将所有学校放入一个数组中,当需要显示一所学校时,将其单独放入一个数组中,然后将其推送到您的视图控制器中。

我们在我们的一个应用程序中做了非常相似的事情,方式基本相同。

于 2008-11-30T01:01:51.973 回答
1

我认为这取决于您用来保存数据的模型。假设您有一组数组,(学校数组,每个学校都有一组学生。)

在这种情况下,我会坚持使用一个 tableController。

如果您的模型设计很简单,则逻辑不必很复杂,而且我认为在这种情况下,它会比多个子类更清洁和“更正确”。不要忘记系统传递给你的任何地方都有一个NSIndexPath你有节和行号。(学校学生indexPath.sectionindexPath.row

于 2008-11-30T01:01:19.993 回答