gpt4 book ai didi

ios - Swift init(),定义自定义 init 是否覆盖?

转载 作者:搜寻专家 更新时间:2023-11-01 06:41:48 31 4
gpt4 key购买 nike

我对此有些困惑:

class Person {

var name: String
var age: Int

init(){

name = “Tim”
age = 30
}


}

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

init(){
//Code here
}

这不是覆盖,因为我们不使用override func init()。有人说其实是在调用类自带的一个默认的init方法。如果是这样,那么花括号有什么作用?

最佳答案

因为您还没有从 NSObject 继承,所以没有要覆盖的 init() 方法。因此,为什么在这种情况下不需要它。

在这种情况下,当您调用 init() 方法时,不会调用任何其他内容,也没有其他默认初始化程序。大括号在那里只是因为您不接受任何参数到您的 init 方法。例如,您可以接受一些参数:

init(withName name: String, andAge age: Int) {
self.name = name
self.age = age
}

然后这样调用它:

人物(姓名:“Chris”,年龄:23​​)

关于ios - Swift init(),定义自定义 init 是否覆盖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34333182/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com