Swift 初始化在哪里进行,在init方法中还是在实例声明中?

Swift 初始化在哪里进行,在init方法中还是在实例声明中?,swift,class,initialization,Swift,Class,Initialization,请不要让我去看苹果网站上的链接,因为我已经看完了所有的链接 我搞不清楚“文本”属性的实际初始化发生在哪里?它是在init方法中还是在实例声明中发生 因为在我看来,文本属性的初始化是在实例声明中进行的,在实例声明中,它被赋予了值“What't beets?” 如果是这样的话,那么为什么苹果书中规定在创建实例之前必须初始化所有属性;在类定义中(如果我错了,请纠正我) 最后,如果“文本”实际上在类定义中被初始化…初始化在哪里 class SurveyQuestion { let text: Stri

请不要让我去看苹果网站上的链接,因为我已经看完了所有的链接

我搞不清楚“文本”属性的实际初始化发生在哪里?它是在init方法中还是在实例声明中发生

因为在我看来,文本属性的初始化是在实例声明中进行的,在实例声明中,它被赋予了值“What't beets?”

如果是这样的话,那么为什么苹果书中规定在创建实例之前必须初始化所有属性;在类定义中(如果我错了,请纠正我)

最后,如果“文本”实际上在类定义中被初始化…初始化在哪里

class SurveyQuestion {

let text: String
var response: String?
init(text: String) {
    self.text = text
  }
func ask() {
    print(text)
   }
}
  let beetsQuestion = SurveyQuestion(text: "How about beets?")

初始化在
init
方法中进行。请注意,
init
接受一个参数,
text
,并将该参数分配给
self.text

,我相信代码中遵循的过程是:

  • 您可以调用
    SurveyQuestion(文本:“甜菜怎么样?”)
    来获取SurveyQuestion类的实例
  • 当类运行时,它的初始化方法
    init(text:String)
    初始化所有属性。这意味着您正在初始化text属性,并给它一个值
  • 最后,该类完成初始化,您将获得该类的一个实例
  • 这与Apple的文档相对应,当初始化类时,属性被初始化,但直到init方法完成,才获得类实例,这意味着直到所有属性被初始化

    很抱歉初始化冗余,我没有找到其他方法来解释它。
    我希望这能解决您的疑问。

    那么文本属性中初始化了什么值?我在这里看到的是一个分配给self.text的空变量…?这是否满足初始化要求…将一个空变量设置为self.text的值???@Ali:No,在
    init
    中,
    self.text=text
    text
    参数分配给
    self.text
    <代码>自身。文本从不为空。声明时它没有值(在
    let text:String
    中),但在初始化对象之前,您根本无法使用对象,因此
    self.text
    永远不会为空……而text参数从实例声明中获取其值,该声明发送值“What-out beets?”……正确吗?从技术上讲,在创建类定义的实例之前,不会运行该类定义。。。。。。?