簡體   English   中英

故事板屬性是UIViewController的屬性嗎?

[英]Is the storyboard property an attribute of UIViewController?

這個問題是在另一篇文章中提出的,我不能讓他們解釋它們的含義。 我當時認為情節提要是UIViewController的一個屬性,因為蘋果的參考文檔在該區域顯示了“與情節提要和Segues交互”的var情節提要。 Apple UIViewController參考文檔評論之一為“情節提要不是UIViewController的屬性或屬性”,我希望他們能對此進行闡述。 任何人都可以幫忙,因為現在我在正確地閱讀或使用參考文檔時感到困惑。

最初的問題在這里: 原始問題

在文檔中,定義指出:

var storyboard: UIStoryboard?

視圖控制器起源的情節提要。

您認為var storyboardUIViewController的屬性是正確的。 您感到困惑的原因是您的思維模型假設UIViewController擁有對storyboard的引用,因此它必須擁有它。 storyboard只是對加載 UIViewController的故事板的引用。 應該將其視為自下而上的關系,而不是自上而下的關系。

在實踐中,作為UIViewController ,一個常見的用例是讓您的storyboard提要實例化其他UIViewController,然后我們可以展示它們:

let viewControllerToPresent = storyboard?.instantiateViewController(withIdentifier: "presentedController")
present(viewControllerToPresent, animated: true, completion: nil)

UIViewController類肯定具有Storyboard屬性

您的另一個問題是詢問初始視圖控制器的實例化和初始化。 在該問題的上下文中,我認為這意味着UIViewController類沒有實例化實例實例之前知道的Storyboard屬性,該實例使實例可以從Storyboard實例化自己。

相反, UIStoryboard創建storyboard集屬性后,它會在UIViewController實例上設置storyboard屬性 這對於s​​egue工作很有必要。

請注意, storyboard屬性是可選的,如果實例不是由故事板創建的,則它將沒有值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM