let primary = School(rawValue: "유치원") //타입 명시X -> Optional 타입인 'School?'로 추론
if let name = myName{
..
}else{
..
}
if var name = myName{
..
}else{
..
}
if 구문을 실행하는 블록 안쪽에서만 name이라는 임시 상수 사용 가능
if 블록 밖에서는 사용할 수 없고, else 블록에서도 사용 불가능
옵셔널 바인딩을 통해 한 번에 여러 옵셔널의 값을 추출할 수도 있음
쉼표를 사용해 바인딩 할 옵셔널을 나열하면 됨
이때 바인딩하려는 옵셔널 중 하나라도 값이 없으면 해당 블록 내부의 명령문은 실행되지 않음
if let name = myName, let friend = yourName {
..
}
느낌표(!)
를 사용하면 됨var myName: String = "yagom"
myName = nil
if let name = myName{
..
}
//myName.isEmpty 실행할경우 nil 상태에서 접근을 시도했기 때문에 런타임 오류 발생
by. 스위프트 프로그래밍 3판