在C ++中,我可以像这样实现它。
template<typename MyType>
class MyClass : public MyType
{
};
是否可以在Swift中这样做?
///Compiler error: Inheritance from non-procotol, non-class type 'T'
class MyClass<MyGeneric> : MyGeneric
{
}
答案 0 :(得分:1)
您必须使用您的类作为约束。您编写它的方式使MyGeneric成为占位符名称(而不是对具有相同名称的类的引用):
class MyClass<T:MyGenericClass>:MyGenericClass
{}
这假设你想要获得的是这样的:
class MyGenericSubClass: MyGenericClass {}
let c = MyClass<MyGenericSubClass>()