Swinject - 对成员的模糊引用

Swinject - Ambiguous reference to member

我在 Swift 3 应用程序中使用 Swinject。当我尝试

let container = Container()
container.register(NetworkModeling.self) { _ in Network() }

我收到一条错误消息

Ambiguous reference to member 'register(_:name:factory:)'

这里有什么问题?

我遇到了同样的问题,我认为编译器在这种情况下可能会更冗长。

反正我的问题在我这边,不在Swinject

检查以下内容:

  1. NetworkModelingNetwork 在您的注册范围内可见(它们在同一模块中是 publicinternal。请记住, swift3 引入了 fileprivate 和许多其他说明符,因此请确保您的标识符对注册代码可见

  2. 确保Network符合NetworkModeling。由于无法看到继承,swift 编译器会引发有关 Swinject 工厂的模糊类型的错误

希望,这有帮助