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