我很难理解初始化程序委员会的意义。我目前正在从Big Nerd Ranch书中学习Swift,并且遇到了以下代码:
init (region: String, population: Int, stopLights: Int) {
self.region = region
self.population = population
numberOfStoplights = stopLights
}
init (population: Int, stopLights: Int {
self.init(region: “N/A”, population: population, stopLights: stopLights)
}
这对我来说非常困惑。如果初始化一个实例的全部要点是给它一个值,那么为什么要将它初始化两次呢?
答案 0 :(得分:0)
第二个init()只是使用不同参数初始化类的另一种方法。在此示例中,如果区域未知,您仍然可以使用区域获取默认值" N / A"来初始化类。
答案 1 :(得分:0)
根据Apple开发者库:
初始化程序可以调用其他初始化程序来执行实例初始化的一部分。此过程称为初始化程序委派,可避免跨多个初始化程序复制代码。