I am using Swinject in my Swift 3
app. When I tried
let container = Container()
container.register(NetworkModeling.self) { _ in Network() }
I get an error saying
Ambiguous reference to member 'register(_:name:factory:)'
What is wrong here?
I faced the same issue and i think compiler could be a bit more verbose in this case.
Anyway, my problem was on my side, not in Swinject
Check the following:
NetworkModeling
and Network
are visible in scope of your registration (they are public
, or internal
in the same module. remember, that swift3 introduced fileprivate
and many other specifiers, so make sure your identifiers are visible to registeting code
Make sure that Network
conforms to NetworkModeling
. Being unable to see inheritance, swift compiler raises error about ambigous types for Swinject factory
Hope, this helps
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With