我Swinject
用来注入依赖项,到目前为止它工作得很好。但是现在我有一个场景,其中我有ViewController
一个依赖于它的ViewModel
. ViewModel
符合ViewModeling
协议并且可以是两种类型之一(两者都符合相同的协议,但具有截然不同的行为)。
我试图弄清楚如何注入正确的ViewModel
(必须在运行时做出的决定)?
我注意到我可以使用Container
来注册每个ViewModel
byname
然后使用name
来区分ViewModel
应该注入哪些,这起初似乎是一个很好的解决方案 - 直到我发现我无法ViewController
用名称实例化我错过了吗?)
我还考虑过在我的DependencyInjector
类上公开一个属性,该属性将用于手动注入权限ViewModel
- 尽管我觉得这种方法完全错过了拥有自动依赖注入解决方案的要点,并且还迫使我弄脏依赖注入器带有一些业务逻辑代码。
任何帮助或想法将不胜感激。