[英]Is the storyboard property an attribute of UIViewController?
這個問題是在另一篇文章中提出的,我不能讓他們解釋它們的含義。 我當時認為情節提要是UIViewController的一個屬性,因為蘋果的參考文檔在該區域顯示了“與情節提要和Segues交互”的var情節提要。 Apple UIViewController參考文檔評論之一為“情節提要不是UIViewController的屬性或屬性”,我希望他們能對此進行闡述。 任何人都可以幫忙,因為現在我在正確地閱讀或使用參考文檔時感到困惑。
最初的問題在這里: 原始問題
在文檔中,定義指出:
var storyboard: UIStoryboard?
視圖控制器起源的情節提要。
您認為var storyboard
是UIViewController
的屬性是正確的。 您感到困惑的原因是您的思維模型假設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
屬性 。 這對於segue工作很有必要。
請注意, storyboard
屬性是可選的,如果實例不是由故事板創建的,則它將沒有值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.