2
、私は以下のクラスを持っている:私は唯一のコンテナに、単一のクラス型を追加する場合、それは罰金コンパイルスウィフト2.2 - クラス型の可変引数パラメータで初期化子使用スウィフト2.2では
protocol Base {}
class FirstImpl: Base {}
class SecondImpl: Base {}
class Container {
private var typeNames = Set<String>()
init(_ types: Base.Type...) {
for type in types {
typeNames.insert(String(type))
}
}
}
:
let c = Container(FirstImpl)
しかし、私はより多くのクラスタイプを追加し始めるならば、それはコンパイルされません。
let c = Container(FirstImpl, SecondImpl)
をビルドエラーは、次のとおりです。
は「Base.Type」
が、それはスウィフトコンパイラの制限ですか、私は何か間違ったことをやっている?期待引数の型に型「(FirstImpl、SecondImpl).TYPE」の値を変換できませんか。