假设我有两个viewcontrollers。在第一个viewcontroller上,我需要选择N个选项中的一个,并且根据此选项,第二个viewcontroller具有不同的行为。在实践中,我可以调用相同的方法,但具有不同的实现,但我不想传递参数(枚举)来描述每个方法中的viewcontroller的当前模式或每次都进行切换。这个案例最相关的设计解决方案是什么?
答案 0 :(得分:2)
这取决于您的N值(第一个视图控制器上的选项)以及彼此之间的差异。
如果N较小且相互之间的差异较大,那么您的第二个屏幕应该有单独的视图控制器。如果差异不大,您可以使用继承。
如果N很大,那么您应该对N选项进行分类并为每个类别设置一个控制器,您可以使用枚举/标志在类别中进行自定义。
答案 1 :(得分:0)
您应该使用继承。编写基类并覆盖基本方法以适应每个子控制器。