Ios 发展 Swift class & 子classes

Ios Development Swift class & Subclasses

我创建了一个 class,其中包含 Condition 类型的可变存储属性。我初始化了 class,一切似乎都很好。

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 我的基础 class 我有编译器错误。

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)
    }
}

由于 (override init) 中的变量,我收到一个编译器错误,提示我正在将 属性 分配给自身,我认为我必须这样做才能初始化值?

第 1 步: 为子项的属性提供值class。

第 2 步: 初始化子类后,为基础 class.

的属性提供值

您忘记向 Nike.init 添加 texturesole 参数。此外,您需要将参数传递给您当前写入 Conditionsuper.init。试试这个:

class Nike: Shoe {
    var texture: Condition?
    var sole: Condition?

    override init(color: Condition, laces: Condition, texture: Condition, sole: Condition) {
        self.texture = texture
        self.sole = sole
        super init(color: color, laces: laces)
    }
}