我创建了一个具有Condition类型的变量存储属性的类。我初始化了课程,一切似乎都很好。
enum Condition {
case poor
case fair
case excellent
}
class Shoe {
var color: Condition?
var laces: Condition?
init(color: Condition, laces:Condition) {
self.color = color
self.laces = laces
}
}
当我将我的基类子类化时,我遇到了编译器错误。
class Nike: Shoe {
var texture: Condition?
var sole: Condition?
override init(color: Condition, laces: Condition) {
self.texture = texture
self.sole = sole
super.init(color: Condition, laces: Condition)
}
}
由于(覆盖init)中的变量,我收到一个编译器错误,说我正在为自己分配一个属性,我认为我必须这样做来初始化值?
第1步:为子类的属性提供值。
步骤2:初始化子类后,提供基类属性的值。
答案 0 :(得分:1)
您忘了向TypeError: only length-1 arrays can be converted to Python scalars
添加texture
和sole
个参数。此外,您需要将参数传递到当前编写Nike.init
的{{1}}。试试这个:
super.init