如何在视图控制器序列图像板初始化期间注入视图模型



之前我在viewcontroller内初始化viewmodel对象,但当我读到SOLID原则(D=dependency invsersion(时,我们不应该在viewcontroller内公开模型视图。所以我想,如果我可以在初始化期间在viewcontroller中注入viewmodel(viewcontroller已经在故事板文件中设计好了(,那么这应该会起作用。

像。。。ViewController具有类似于自定义init的。。。func init(带viewModel:viewModel(

但这可能吗??

有了情节串连板,就不能有一个干净的初始化器!

当您调用视图控制器storyboard.instantiateViewController(withIdentifier: "viewController")时,SYSTEM将执行其任务并调用

required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}

您永远不能将该调用重定向到另一个init方法。然而,对于程序创建的viewController或nib创建的viewControllers,您可以重定向该调用,如上所示。


您可以使用xibs创建自己的init方法,也可以采用完全编程的方法。

我在这里已经详细讨论过了

最新更新