在Swift的初始化程序中使用其他类初始值设定项

时间:2014-06-13 00:09:50

标签: swift

我可以在初始化程序中使用其他初始化程序吗?

class Car {
    var manufacturer:String?
    var speed:Int?

    init (manufacturer manf:String){
        manufacturer = manf
    }

    init(manufacturer manf:String, speed spd:Int){
        manufacturer = manf // How can I use the other initializer here?
        speed = spd

    }
}


var b = Car(manufacturer: "bmw")

var k = Car(manufacturer: "kia", speed: 30)

1 个答案:

答案 0 :(得分:1)

我明白了。我只需要在我的中级convenience之前使用init,然后我就可以使用self.init来调用原始init

class Car {
    var manufacturer:String?
    var speed:Int?

    init (manufacturer manf:String){
        manufacturer = manf
    }

    convenience init(manufacturer manf:String, speed spd:Int){
        self.init(manufacturer: manf)
        speed = spd

    }
}