我正在使用Swinject
我的 DI 解决方案,并使用扩展对其进行SwinjectStoryboard
扩展。
我正在努力动态注入viewModel
特定的viewContoller
. 具体场景如下:
MyViewController
有一个名为 的属性var viewModel: ViewModeling
。
有 2 种不同的视图模型符合ViewModeling
协议,我们称之为:firstViewModel
和secondViewModel
. 我的故事板只包含一个控制器,它的MyViewController
.
问题
注入正确的viewModel作为MyViewController
动态的依赖(所以只有在运行时我才会知道是注入第一个还是第二个)
我能够在服务级别上做到这一点(2 个服务符合的一个协议,以及 2 个不同的视图模型,每个视图模型使用不同的服务可以使用特定名称解析所需的一个)
我正在努力在 viewController 级别上执行此操作,尝试将相同的视图控制器注入特定的 viewModel(两者都符合相同的协议)。
目前我的预感是SwinjectStoryboard
不允许我使用它的故事板 ID 实例化视图控制器(就像我通常会做的那样),此外还定义了几个将在运行时解析的不同名称。
我错过了什么吗?