2016-10-02 61 views
4

我在我的Swift 3應用中使用Swinject。當我試圖Swinject - 對會員的模糊引用

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

我得到一個錯誤說

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

這裏有什麼問題?

+0

不編譯器也給你可能的過載的名單? – Alexander

+0

swinject文檔證明她一樣 –

+0

你是如何安裝Swinject的,例如。迦太基還是CocoaPods?文檔中的哪些代碼演示了這個問題? –

回答

8

我面臨同樣的問題,我認爲在這種情況下編譯器可能會更冗長一些。

不管怎麼說,我的問題是在我的身邊,而不是在Swinject

檢查以下內容:

  1. NetworkModeling以及Network在你註冊(他們是public,或internal的範圍可見請記住,swift3引入了fileprivate和許多其他說明符,因此請確保您的標識符對註冊碼可見

  2. 確保Network符合NetworkModeling。由於無法看到繼承,迅速編譯器會引發錯誤約ambigous類型Swinject工廠

希望,這有助於

+2

# 2以上非常有幫助 –

相關問題