自定义初始化程序如何实际“初始化”?

时间:2016-02-16 01:54:36

标签: swift initialization

此刻学习Swift,这也是我第一次学习编码。我正在研究初始化器,我坚持自定义初始化器的想法。

查看下面的代码,我真的不确定这是如何实际初始化实例的。是不是将属性的值设置为等于未初始化的实例,只会导致另一个未初始化的属性?

init (region: String, population: Int, stopLights: Int) {
    self.region = region
    self.population = population
    numberOfStoplights = stopLights
}

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

在分配了对象(结构或类实例)的内存后,将调用

init。那时对象存在但其字段(成员变量)包含未知(未定义)值。

Swift,为了安全和类型一致性,永远不允许访问未定义的值。因此,您必须在init中为对象的每个字段指定一个值,即使这只是某些"默认"值。可选字段使用nil初始化。