Swift 初始化在哪里进行,在init方法中还是在实例声明中?
请不要让我去看苹果网站上的链接,因为我已经看完了所有的链接 我搞不清楚“文本”属性的实际初始化发生在哪里?它是在init方法中还是在实例声明中发生 因为在我看来,文本属性的初始化是在实例声明中进行的,在实例声明中,它被赋予了值“What't beets?” 如果是这样的话,那么为什么苹果书中规定在创建实例之前必须初始化所有属性;在类定义中(如果我错了,请纠正我) 最后,如果“文本”实际上在类定义中被初始化…初始化在哪里Swift 初始化在哪里进行,在init方法中还是在实例声明中?,swift,class,initialization,Swift,Class,Initialization,请不要让我去看苹果网站上的链接,因为我已经看完了所有的链接 我搞不清楚“文本”属性的实际初始化发生在哪里?它是在init方法中还是在实例声明中发生 因为在我看来,文本属性的初始化是在实例声明中进行的,在实例声明中,它被赋予了值“What't beets?” 如果是这样的话,那么为什么苹果书中规定在创建实例之前必须初始化所有属性;在类定义中(如果我错了,请纠正我) 最后,如果“文本”实际上在类定义中被初始化…初始化在哪里 class SurveyQuestion { let text: Stri
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属性,并给它一个值我希望这能解决您的疑问。那么文本属性中初始化了什么值?我在这里看到的是一个分配给self.text的空变量…?这是否满足初始化要求…将一个空变量设置为self.text的值???@Ali:No,在
init
中,self.text=text
将text
参数分配给self.text
<代码>自身。文本从不为空。声明时它没有值(在let text:String
中),但在初始化对象之前,您根本无法使用对象,因此self.text
永远不会为空……而text参数从实例声明中获取其值,该声明发送值“What-out beets?”……正确吗?从技术上讲,在创建类定义的实例之前,不会运行该类定义。。。。。。?