我有A类:
class A<T: MyTypeClass>
{
}
和B级
class B<T: MyTypeClassSubclass>: A<T>
{
}
让我们说MyTypeClassSubclass
延伸MyTypeClass
var variable: A<MyTypeClass> = B<MyTypeClassSubclass>()
如果我写的话:
var variable: A<MyTypeClass> = B<MyTypeClassSubclass>() as! A<MyTypeClass>
编译器只给出警告,应用程序在运行时崩溃。
我尝试使用类型擦除但是它不起作用,因为在我的情况下,它从A类开始,女巫已经是通用的。
我该如何解决这个问题?
答案 0 :(得分:1)
在处理Generic类型时,Swift中不允许使用超类型和子类型。在子类的上下文中使用泛型时,类型必须相同。