1
私は具体的な実装を汎用的なプロトコルを使用して注入しようとしていますが、私は次のエラーを取得する:Protocol 'Repo' can only be used as a generic constraint because it has Self or associated type requirements
let repo: Repo
はSwift汎用プロトコルの注入が可能ですか?
私のコード
protocol Repo{
associatedtype T
func doSomething() -> T
}
class MyRepo: Repo{
func doSomething() -> String{
return "hi"
}
}
class SomeClass {
let repo: Repo
init(repo: Repo) {
self.repo = repo
repo.doSomething()
}
}
class EntryPoint{
let someClass: SomeClass
init(){
someClass = SomeClass(repo: MyRepo)
}
}
エントリポイントでは、最初に呼び出されると、依存関係ツリーを設定しています。
、どこAT STRING'が必要とされていない== 'ことに注意してくださいが、 Stringではなく動作しません。 'T'は文字列でなければなりません。 –
ありがとう@AhmadF、更新しました。 – jwswart