【问题标题】:ViewController with several behaviour models具有多个行为模型的 ViewController
【发布时间】:2016-09-15 09:23:07
【问题描述】:

假设我有两个视图控制器。在第一个视图控制器上,我需要选择 N 个选项中的一个,并且根据此选项,第二个视图控制器具有不同的行为。在实践中,我可以调用相同的方法,但使用不同的实现,但我不想在每个方法中传递描述视图控制器当前模式的参数(枚举)或每次都进行切换。这个案例最相关的设计方案是什么?

【问题讨论】:

    标签: ios architecture


    【解决方案1】:

    这取决于您的 N 值(第一个视图控制器上的选项)以及它们之间的差异。

    如果 N 更小并且彼此之间的差异更大,那么您应该为第二个屏幕设置单独的视图控制器。如果差异不大,您可以使用继承。

    如果 N 很大,那么您应该对您的 N 选项进行分类,并为每个类别设置一个控制器,您可以使用枚举/标志在一个类别中进行自定义。

    【讨论】:

      【解决方案2】:

      您应该使用继承。编写基类并重写基方法以适应每个子控制器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-06-05
        • 1970-01-01
        • 2017-01-14
        • 2016-09-06
        • 1970-01-01
        • 2017-05-31
        • 2020-06-22
        • 1970-01-01
        相关资源
        最近更新 更多