私はAPI結果ハンドリングのための汎用データ構造を作成しています。オンラインで読むことができました。プロトコルと関連タイプを使用するのが最善であることが分かりました。これはこれまでの私の実装です。別のプロトコル関数の引数としてSwiftプロトコルを渡します。
protocol CreateDataCallback {
associatedtype E
func onSuccess(e:E) -> Void
func onFail() -> Void
}
protocol DataSource: class {
associatedtype T
func getData<GDC:GetDataCallback>(id:ID, callback:GDC) -> Void
}
コードスニペットからわかるように、私のgetData関数は正しく書かれていません。問題は、DataSourceプロトコルからCreateDataCallbackプロトコルの 'associatedtype E'に 'associatedtype T'を渡す方法がわかりません。私はプロトコルDataSourceの拡張を書くことができましたが、それは一般的ではありません。これは即時にも可能ですか(私は今Javaで可能です)、もし可能であれば、私にその方法を教えてください。 Thx