Ios开发Swift类&子类

时间:2017-07-27 15:05:43

标签: swift class inheritance init

我创建了一个具有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:初始化子类后,提供基类属性的值。

1 个答案:

答案 0 :(得分:1)

您忘了向TypeError: only length-1 arrays can be converted to Python scalars 添加texturesole个参数。此外,您需要将参数传递到当前编写Nike.init的{​​{1}}。试试这个:

super.init