1
私は具体的に拡張しようとしているタイプがあります:AnyObserver<[MyModel]>
です。配列の汎用要素を受け入れる型を拡張する方法は?
extension AnyObserver where Element: MyModel {...}
しかし、実際にElement
が配列であるので、私のような何かをしようとした:私がこのような何かを行うことができますElement
として配列で渡していなかった場合は拡張することは簡単だろう以下のいずれか:
extension AnyObserver where Element: Array<MyModel> {...}
extension AnyObserver where Element: Array<T: MyModel> {...}
extension AnyObserver where Element == Array<MyModel> {...}
extension AnyObserver where Element == [MyModel] {...}
これらの結果のようなコンパイルエラーに:
Same-type requirement makes generic parameter non-generic
Type 'Element' constrained to non-protocol type
正しい方法は、このCAの拡張子をどのように作成されますセ?