Swift init(),定义自定义init是否重写?

时间:2015-12-17 11:13:43

标签: ios swift

我对此感到困惑:

class Person {

    var name: String
    var age: Int

    init(){

        name = “Tim”
        age = 30
    }


}

基本的自定义初始化。下面的代码到底是做什么的?:

init(){
  //Code here
}

这不是覆盖,因为我们不使用override func init()。有人说它实际上调用了类附带的默认init方法。如果是这种情况那么大括号会做什么?

1 个答案:

答案 0 :(得分:1)

Swift为任何为其所有属性提供默认值的结构或类提供默认初始值设定项,并且本身不提供至少一个初始值设定项。默认初始值设定项只是创建一个新实例,其所有属性都设置为默认值。

您可以使用输入参数和可选属性类型自定义初始化过程,也可以在初始化期间指定常量属性。

您可以提供初始化参数作为初始化程序定义的一部分,以定义自定义初始化过程的值的类型和名称。初始化参数与函数和方法参数具有相同的功能和语法。