繁体   English   中英

从多个情节提要中继承UIViewController

[英]Subclassing a UIViewController from multiple storyboards

我想对一个视图控制器进行子类化,其中superClass和subClass在两个单独的故事板上。 超类通过其情节提要板连接了IBOutlet,子类也是如此。

问题:是否可以创建子类,以便从情节提要中使用超类的IBOutlet连接? (又名IBOutlets并不为零,并且调用awakeFromNib)

设定:

SuperClass是将BaseStoryboard与IBOutlet UIView属性baseContainerView一起使用的BaseViewController。

子类是使用SpecialStoryboard的SpecialViewController

SpecialViewController继承自BaseViewController。

当前问题:

如果我从情节提要(SpecialStoryboard)实例化SpecialViewController的实例,则在调用viewDidLoad时,其超类(BaseViewController)上的containerView属性为nil。 是否可以从情节提要中加载SpecialViewController的超类(BaseViewController)?

类支持继承,但场景不支持。

当对视图控制器进行子类化时,它会继承其超类中存在的所有出口,但是需要在使用子类的场景中为这些出口显式分配一个值。

场景指定了其视图控制器的类,但是视图控制器类没有“返回”到使用它的场景的链接。 场景和视图控制器类之间存在“多对一”关系。 如果您要问的是可能的,iOS将如何知道您要从中“继承”使用视图控制器的潜在场景中的哪些?

仅仅因为超类定义了出口foo并且您已经在某个场景中使用了超类,这并不意味着如果您使用foo然后在另一个场景中使用子类(无论这些场景位于哪个情节提要中), foo将具有一定的价值。 您将需要在使用子类的场景中直接将对象分配给foo

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM