swift中设计的初始化程序和便捷初始化程序有什么区别?

时间:2015-12-08 09:34:08

标签: swift initialization

class RecipeIngredient: Food {
    var quantity: Int
    init(name: String, quantity: Int) {
        self.quantity = quantity
        super.init(name: name)
    }
    override convenience init(name: String) {
        self.init(name: name, quantity: 1)
    }

1 个答案:

答案 0 :(得分:0)

Apple Documentation Initialization Section;

在标题下面有一个很大的解释:类继承和初始化

大部分解释都在小标题下:指定的初始化器和便利初始化器

然而,简化的解释是指定的初始值设定项是给定对象的默认初始值设定项。它们通常将对象的确切要求作为参数传递。在大多数情况下,便利性初始化者通过的参数较少,并且会使用默认值填补空白。

通常情况下,便利初始化程序会使用一些默认值调用对象的默认初始值设定项。