子类化UIViewController,何时何时不到

时间:2008-11-29 23:51:41

标签: ios objective-c iphone cocoa-touch uiviewcontroller

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

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

权衡是相当直接的,因为我确实可能将一切都放在一个视图控制器中,代价是一些令人困惑/复杂的逻辑。另一方面,如果我编写另一个处理单个学校学生的控制器,将会有大量重复的代码。

专家们对此提出了什么建议?

2 个答案:

答案 0 :(得分:2)

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

将所有学校放入阵列中,当需要显示单个学校时,将其自身粘贴到数组中,然后将其推入视图控制器。

我们在其中一个应用中做了类似的事情,基本上是一样的。

答案 1 :(得分:1)

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

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

如果您的模型设计很简单,那么逻辑就不一定是毛茸茸的,而且我认为在这种情况下它会比多个子类更清晰,更“正确”。 不要忘记系统通过你的 NSIndexPath 的任何地方你有截面和行号。 (学校学生 indexPath.section indexPath.row