簡體   English   中英

如何使用情節提要板為視圖控制器編寫和調用指定的初始化程序以初始化私有屬性?

[英]How can I write and call a designated initializer for my view controller to initialize a private property, using storyboards?

我想在Swift中為視圖控制器編寫一個指定的初始化程序,以初始化一個私有屬性。 我了解如何在代碼中執行此操作,但是我正在努力了解如何使用情節提要來完成此操作。

我的自定義游戲視圖控制器是我的導航控制器的根視圖控制器,它包含在容器視圖控制器中 在此處輸入圖片說明

由於所有包含和視圖控制器的創建都是從情節提要中自動進行的,因此我能想到的唯一解決方案是將我的私有屬性聲明為公共屬性,因此在創建游戲視圖控制器后,可以為其分配一個值。 這似乎是一種hack,因為為了使用情節提要,我僅將其聲明為公共。 我是否理解正確,或者是代碼中的一點,當我可以干預並調用游戲視圖控制器的指定初始化程序時?

在此先感謝您的智慧!

本質上,您不能。 如您所知,從情節提要板實例化視圖控制器時,您無法控制所使用的初始化程序。

這是在Cocoa中使用真正的依賴項注入模式的障礙之一。

最好的辦法是使用prepareForSegue在新創建的視圖控制器上設置屬性。

暫無
暫無

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

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