我们可以使用代码为故事板的视图控制器提供类名(自定义类)吗?

时间:2016-01-26 06:35:33

标签: ios swift

我想在下一个viewcontroller中重用viewcontroller的设计。我有90%的类似代码。我计划将一个UIViewController的子类用于父级(比如Xvc)(包含所有常用的方法和属性),接下来的两个(比如说vc1和vc2)是Xvc的子类,并且要分配给故事板的ViewController根据条件。

如何根据条件为ViewController vc1或vc2分配自定义类?

还是有任何解决方案可以解决这个问题?

3 个答案:

答案 0 :(得分:0)

你可以这样做,但即使在故事板中也应该有两个viewcontroller对象

答案 1 :(得分:0)

我头脑中的解决方案是拥有一个viewcontroller类,并准备好在你拥有的两种情况下使用它。你说它有90%的相似性,所以对于10%你可以把一个布尔标志作为成员变量来检查这是不是case1(case2),并根据你执行相应代码的标志值。

答案 2 :(得分:0)

您无法在运行时从故事板为视图控制器定义类,故事板已编译,因此无法在以后更改。

您应该考虑两个选项

  • 使用相同的目标视图控制器(merge vc1 + vc2)并使用标志来更改其行为,如Ismail所示。您可以在-prepareForSegue:sender:中设置Xvc。
  • 中的标记
  • 同时保留vc1和vc2,从Xvc到vc1以及从Xvc到vc2创建两个segue,并通过从Xvc调用-performSegueWithIdentifier:sender:来触发你想要的segue

您的选择应取决于您的视图控制器的不同(这并不一定意味着代码有多少)