我应该尽可能多地使用视图/视图控制器吗?

时间:2015-11-03 20:37:01

标签: ios uitableview model-view-controller uiviewcontroller

我编写的应用程序具有许多表格视图,并且根据许多因素,这些表格视图可能会显示某些部分并隐藏其他部分。

例如,我有“活动”对象和“存档”对象。当用户选择一个用户时,他将被带到同一个表视图,但如果该对象处于活动状态,则会显示某些部分,如果已存档,则会显示其他部分。现在我正在考虑为这些对象添加其他属性,比如“完成”,除了“活动”和“存档”。问题是该表视图控制器的代码变得越来越复杂,试图根据所选对象的每个属性确定要显示或隐藏的部分。所以我正在考虑使用不同的表视图,一个用于存档对象,另一个用于活动对象,另一个用于完成对象。但是虽然它们有许多不同的部分,但也有一些共同的部分应该显示给所有这些对象。

那么在这样的情况下我该怎么办?我应该使用具有三个不同视图控制器的三个不同的表视图,一个用于我的对象的每个属性(我甚至可以添加更多!),并且对于它们之间常见的部分重复相同的代码多次,或者我应该保留使用一个视图控制器并使其代码越来越复杂,试图确定要显示或隐藏的部分?或者我应该在两者之间做些什么?或完全不同的东西?

提前致谢,

丹尼尔

编辑:我认为这不是一个意见问题,但显然是这样。但是,必须有一些客观的事情要考虑。例如,在故事板中有许多不必要的场景有什么影响?是否可以忽略不计,可以为每个小变化创建一个新场景,而不是在同一个视图控制器中以编程方式进行操作?

1 个答案:

答案 0 :(得分:1)

在我看来,你应该有3个独立的视图控制器。

在开发和优化您的应用时,您肯定会注意到您在很多地方重复了代码。当您注意到重复的代码时,请尝试将其抽象到模型层中,并从View / Controller层中抽象出来。

如果你到达了3个控制器几乎完全相同的点,那么你可以将它们组合起来。

对此没有明确的正确或错误答案;这是一个你将学会认识和解决经验的问题。

祝你的应用好运! : - )