2017-10-11 52 views
0

我不熟悉的故事板前視圖控制器,我有一個UIViewController的父,已經init方法類似:寫init方法傳遞模型viewDidLoad中

convenience init(viewModel: Any){ 
     self.init() 
     self.viewModel = viewModel 
    } 

所以,當viewDidLoad被調用時,我已經有viewModel不是零。

,我可以輕鬆創建視圖控制器,這樣的模式:

let pvc = ProductViewController(viewModel: pvm) 
self.navController?.pushViewController(pvc, animated: true) 

如何將此功能添加到故事板?我想要的是,將模型傳遞給構造函數,以確保當viewDidLoad被稱爲模型存在。

+0

爲什麼你需要在'viewDidLoad'之前傳遞模型?我明白,在Cocoa Bindings在初始化後期望值的macOS中。但是,在viewDidLoad之前,iOS中的哪些功能需要有效的值?不是共享類(單身人士)的一種選擇嗎? – vadian

回答

1

不幸的是,在視圖控制器被事先初始化之前,沒有辦法用故事板來做到這一點。

我寫了一個post關於使視圖控制器和視圖模型關聯更明確,但。

+0

您的解決方案非常棒! –

相關問題