我想在Swift中为我的视图控制器编写一个指定的初始化程序来初始化一个私有属性。我理解如何在代码中执行此操作,但我很难理解如何使用故事板来完成此操作。
我的自定义游戏视图控制器是我的导航控制器的根视图控制器,它包含在容器视图控制器中
由于所有的包容和视图控制器创建都是从故事板自动发生的,我能想到的唯一解决方案是将我的私有属性声明为公共属性,因此我可以在游戏视图控制器之后为其分配值已创建。这看起来像是一个黑客,因为我只是宣称它是公开的,以便使用故事板。我是否理解正确,或者当我可以干预并调用我的游戏视图控制器的指定初始化程序时,是代码中的一个点?
提前感谢您的智慧!
答案 0 :(得分:1)
基本上,你不能。如您所见,当您从故事板中实例化视图控制器时,您无法控制所使用的初始化程序。
这是在Cocoa中使用真正依赖注入模式的障碍之一。
您可以做的最好的事情是使用--------------------------------------------------------------------------
Configure certs
--------------------------------------------------------------------------
--create store
gsk8capicmd -keydb -create -db key.kdb -pw password -stash
--import cert
gsk8capicmd -cert -import -db /home/skumar04/certs/unencrypted_streams_mq_dev.pfx -target /var/mqm/qmgrs/QMGR_CLAIM/ssl/key.kdb -target_pw password
--List certs
Certificates found
* default, - personal, ! trusted, # secret key
! CN=ROOTCA
! CN=POLICYCA
! CN=ISSUE01CA,DC=bsc,DC=bscal,DC=com
- "CN=streams_mq_dev,OU=IT,O=Company,L=El Dorado Hills,ST=California,C=US"
--------------------------------------------------------------------------
Configure queue manager
--------------------------------------------------------------------------
DISPLAY QMGR SSLKEYR
(uses default location)
/var/mqm/qmgr/QMGR_CLAIM/ssl
--------------------------------------------------------------------------
Configure channel
--------------------------------------------------------------------------
ALTER CHANNEL(CHNL_CLAIM) CHLTYPE(AMQP) SSLCIPH(TLS_RSA_WITH_3DES_EDE_CBC_SHA) CERTLABL('CN=streams_mq_dev,OU=IT,O=Company,L=El Dorado Hills,ST=California,C=US') SSLCAUTH(REQUIRED)
在新创建的视图控制器上设置属性。