Daily iOS
Swift

Initialization rules

Why doesn't this code compile? Can you explain it using the two-phase initialization rules?

class Base { let id: Int; init(id: Int) { self.id = id } }
class Child: Base {
    let name: String
    init(name: String) {
        super.init(id: name.count)
        self.name = name
    }
}

Submit