Ios 如何在UISegmentedControl中高效地实现两个相似的视图

Ios 如何在UISegmentedControl中高效地实现两个相似的视图,ios,swift,uisegmentedcontrol,Ios,Swift,Uisegmentedcontrol,我有两个完全相似的视图,在两个分段控件中显示。请参阅下图。这两个视图之间的区别是我发送到后端以获取值和标题的参数。即使返回的值也是相同的 我提到了一些教程,当选择段时,它会从一个视图循环到另一个视图 我得到了两个代码完全相同的文件。如何优化这个实现,以便我只需要一段代码就可以实现 包含的两个VCs具有完全相同的代码,用于从后端获取值并显示。我在两个VCs中只使用了一个函数来获取数据,但还有其他代码部分,如Tableview委托和其他对这两个VCs都通用的代码 在故事板中,两者都是重复的 有什么方

我有两个完全相似的视图,在两个分段控件中显示。请参阅下图。这两个视图之间的区别是我发送到后端以获取值和标题的参数。即使返回的值也是相同的

我提到了一些教程,当选择段时,它会从一个视图循环到另一个视图

我得到了两个代码完全相同的文件。如何优化这个实现,以便我只需要一段代码就可以实现

包含的两个VCs具有完全相同的代码,用于从后端获取值并显示。我在两个VCs中只使用了一个函数来获取数据,但还有其他代码部分,如Tableview委托和其他对这两个VCs都通用的代码

在故事板中,两者都是重复的

有什么方法可以让它更有效吗


这可能是使两个视图控制器成为公共超类的子类的一种情况

或者更简单:将它们设为同一视图控制器类的两个实例,该类知道该做什么,因为您在创建时传递了一个参数,告诉它该做什么


例如,“我的相册”应用程序使用四个视图控制器,它们的主要区别在于它们对用户的音乐库执行什么查询。因此,我选择为它们创建一个视图控制器类的四个实例,其中一个enum属性表示它是哪个查询,以及通过该enum上的switch语句确定的任何其他不同功能。

我认为您只需要创建一个VC(在IB和代码中),将所有逻辑放入其中,然后

1-将其一次实例/容器添加到MainVC,并管理选择要重新加载内容的段的过程(推荐)


2-将其2个实例添加到MainVC中,并在选定段时管理隐藏/显示

是否使两个视图控制器都从公共超类继承?或者甚至使用同一视图控制器类的两个实例?不可能是具体的,因为您还没有具体化-您的问题是关于代码的,但您没有显示任何代码。您可能有兴趣阅读有关的代码重用策略。