我对此感到困惑:
class Person {
var name: String
var age: Int
init(){
name = “Tim”
age = 30
}
}
基本的自定义初始化。下面的代码到底是做什么的?:
init(){
//Code here
}
这不是覆盖,因为我们不使用override func init()
。有人说它实际上调用了类附带的默认init方法。如果是这种情况那么大括号会做什么?
答案 0 :(得分:1)
Swift为任何为其所有属性提供默认值的结构或类提供默认初始值设定项,并且本身不提供至少一个初始值设定项。默认初始值设定项只是创建一个新实例,其所有属性都设置为默认值。
您可以使用输入参数和可选属性类型自定义初始化过程,也可以在初始化期间指定常量属性。
您可以提供初始化参数作为初始化程序定义的一部分,以定义自定义初始化过程的值的类型和名称。初始化参数与函数和方法参数具有相同的功能和语法。