Initialization 상수 속성의 변경
상수(constant)는 수정이나 변경이 불가능하지만 Swift의 initialization(초기화)에서는 변경할 수 있다.
좀 더 엄밀히 말하면 초기화 할때만 변경할 수 있다. 초기화 이후에는 변경할 수 없다.
예
class SurveyQuestion {
let text: String
var response: String?
init(text: String) {
self.text = text
}
func ask() {
println(text)
}
func responsePrint() {
println(response)
}
}
let beetsQuestion = SurveyQuestion(text: "How about beets?")
beetsQuestion.ask()
// --> How about beets?
beetsQuestion.response = "I also like beets. (But not with cheese.)"
beetsQuestion.responsePrint()
// --> Optional("I also like beets. (But not with cheese.)")
위 소스에서 Optional Type인 경우 상수로 선언하고 초기화 하지 않을 경우 다음과 같은 오류가
발생한다.
Return from initializer without initializing all stored properties
'Smart Device > Swift' 카테고리의 다른 글
Swift Deinitialization (0) | 2015.06.24 |
---|---|
Swift Initializer Delegation for Value Types (0) | 2015.06.24 |
Swift Playground에서 console output 보여주기 (0) | 2015.06.23 |
Swift Initialization Optional (0) | 2015.06.23 |
Swift Initialization Parameter (0) | 2015.06.23 |