Objective c IOS:是否可以将一个楼层板视图控制器绑定到几个不同的类?

Objective c IOS:是否可以将一个楼层板视图控制器绑定到几个不同的类?,objective-c,ios,xcode,storyboard,Objective C,Ios,Xcode,Storyboard,我知道可以将自定义视图控制器类附加到故事板上的多个不同视图控制器上,但可以在另一个方向上进行;也就是说,根据具体情况,我希望将不同的自定义类绑定到故事板上的单个视图控制器,该视图控制器将使用以下命令进行实例化: [self.storyboard instantiateViewControllerWithIdentifier:] 背景:我的故事板上曾经有几个几乎相同的视图控制器。事实上,它们各自绑定到的自定义类也非常相似。为了解决这个问题,我将自定义类重构为一个基类和几个子类。然后,我从情节提要

我知道可以将自定义视图控制器类附加到故事板上的多个不同视图控制器上,但可以在另一个方向上进行;也就是说,根据具体情况,我希望将不同的自定义类绑定到故事板上的单个视图控制器,该视图控制器将使用以下命令进行实例化:

[self.storyboard instantiateViewControllerWithIdentifier:]
背景:我的故事板上曾经有几个几乎相同的视图控制器。事实上,它们各自绑定到的自定义类也非常相似。为了解决这个问题,我将自定义类重构为一个基类和几个子类。然后,我从情节提要中删除了所有类似的视图控制器,只留下一个绑定到基类的视图控制器。然后我打电话:

MySubclass* mySubclass = [self.storyboard instantiateViewControllerWithIdentifier:@"StoryboardControllerBoundToBaseClass"];

不幸的是,我的子类代码被忽略,只运行基类代码。有人知道我如何在不复制故事板上的视图控制器并将每个视图控制器绑定到不同的子类的情况下使其工作吗?

这是不可能的。仅仅因为您说MySubclass*object=某些东西并不能神奇地将对象转换为MySubclass对象。它存储在序列图像板中,具有在序列图像板编译时分配的任何类。

与其使用子类化,我想我可以通过使用委托/代理模型重用序列图像板上的视图控制器。更具体地说,我可以将情节提要的视图控制器绑定到一个自定义类,该类将其所有方法/事件委托给其他类来处理。这不像子类化那么优雅,但至少我可以让我的故事板更精简,而不必保留几乎相同的视图控制器的多个副本。另外,我不需要将将来的更改复制到这些控制器的每个副本以启动。

正如guylegend所写。苹果不支持这样做。有很多变通方法,例如与代表一起,但我最终找到了答案,并在另一个主题中回答了。希望有帮助!

谢谢!我很害怕这一点。请参见此链接中的答案。希望此链接有帮助