Swift Initialization Optional
Initialization Optional
Initialization에서 초기화 할 필요가 없는 경우에 사용하는 방법이 Optional Type 이다.
예
struct Grade {
var koreanGrade : Int
var englishGrade : Int
var msg : String?
init(koreanCount : Int, englishCount : Int) {
koreanGrade = min(koreanCount * 5, 100)
englishGrade = min(englishCount * 5, 100)
msg = "한 문제당 5점입니다."
}
init(koreanScore : Int, englishScore : Int) {
koreanGrade = koreanScore
englishGrade = englishScore
}
}
let myGrade = Grade(koreanCount: 15, englishCount: 17)
println("내 국어점수는 \(myGrade.koreanGrade)이고, 영어점수는 \(myGrade.englishGrade)이다")
println("이 과목은 \(myGrade.msg)")
let yourGrade = Grade(koreanScore: 95, englishScore: 100)
println("네 국어점수는 \(yourGrade.koreanGrade)이고, 영어점수는 \(yourGrade.englishGrade)이다.")
println("이 과목은 \(yourGrade.msg)")
-->
"내 국어점수는 75이고, 영어점수는 85이다"
"이 과목은 Optional("한 문제당 5점입니다.")"
-->
"네 국어점수는 95이고, 영어점수는 100이다."
"이 과목은 nil"