我在努力理解初始化程序委托的重点。我目前从大书呆子牧场书学习斯威夫特和下面的代码来:初始化者授权的要点是什么?
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)
}
这是非常混乱给我。如果初始化实例的要点是给它一个值,那么为什么要初始化它两次?
不知道我还明白。在你的例子中,如果我们想让这个区域在不知道的情况下是“N/A”,那么我们不能在开始时将它初始化为“N/A”吗? –
很难说,如果没有看到你描述的课程的整个代码。一个更好的例子可能是接受数据库ID的初始化程序,因此在该初始化程序中将查询数据库,并将生成的区域,总体和停车灯信息传递给具有这三个参数的默认初始化程序。 – mfessenden