簡體   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