我想在BaseClass中拥有一个属性,该属性是可扩展Movable的任何类型的数组,而在子类中,我想使用可扩展Movable的Transportable类型覆盖相同的属性。
我们如何在Swift中声明“扩展Movable的任何内容”?
protocol Movable{
func move()
}
struct Transportable : Movable{
func transport()
}
class BaseClass{
var myProperty: [Movable] = []
}
class MyClass: BaseClass{
override var myProperty = [Transportable]()
}
它无法编译并给我一个错误:
类型为[[Transportable]”的属性“ myProperty”不能覆盖类型为“ [Movable]”的属性