【发布时间】:2016-07-08 15:51:50
【问题描述】:
引用自Chapter: Initialization的Swift 3.0办公文档
对于类实例,常量属性在初始化期间只能由引入它的类修改。它不能被子类修改。
据我了解,修改涉及到定义之后的动作,也就是声明和赋值之后的动作>,又名重新赋值,因此我尝试了以下代码。
class SurveryQuestion {
let text: String
var response: String?
init(text: String) {
self.text = "do you like music?"
self.text = text //Got an error here
}
func ask(){
print(text)
}
}
我在self.text = text 行遇到错误。编译器要求我将属性text从常量更改为变量。不是说常量属性可以被最初引入它的类的初始化器修改吗?
问题:我对modified这个词的理解有误吗?它是否意味着 声明 而不是 定义 之后会导致 修改 的动作是通过将值传递给常量。
【问题讨论】:
标签: swift initialization constants