类型的Swift泛型约束
是否可以定义一个泛型参数都符合某个给定类型的类 比如说类型的Swift泛型约束,swift,generics,Swift,Generics,是否可以定义一个泛型参数都符合某个给定类型的类 比如说 protocol Foo{} class Bar : Foo {} class Baz : Foo {} class Qux<T, U, V where U: T, V: T> {} let qux = Qux<Foo, Bar, Baz>() 协议Foo{} 类栏:Foo{} 类Baz:Foo{} 类Qux{} 设qux=qux() 否。不适用于某一类型。类型约束指定类型参数必须从类继承,或符合协议或协议组合:
protocol Foo{}
class Bar : Foo {}
class Baz : Foo {}
class Qux<T, U, V where U: T, V: T> {}
let qux = Qux<Foo, Bar, Baz>()
协议Foo{}
类栏:Foo{}
类Baz:Foo{}
类Qux{}
设qux=qux()
否。不适用于某一类型。类型约束指定类型参数必须从类继承,或符合协议或协议组合:
class SomeClass<TypeParameter: ProtocolOrClass>
class-SomeClass
你为什么不这样做呢:
protocol Foo {}
class Bar: Foo {}
class Baz: Foo {}
class Qux<U: Foo, V: Foo> {}
let qux = Qux<Bar, Baz>()
协议Foo{}
类栏:Foo{}
类Baz:Foo{}
类Qux{}
设qux=qux()