Swift에서, optional 의 내용에 대해 전환되는 값을 테스트하는 switch 문 에 case를 작성하고 선택 사항에 포함 된 경우 case를 건너 뛰려면 nil
어떻게해야합니까?
이것이 어떻게 보일지 상상해보십시오.
let someValue = 5
let someOptional: Int? = nil
switch someValue {
case someOptional:
// someOptional is non-nil, and someValue equals the unwrapped contents of someOptional
default:
// either, someOptional is nil, or someOptional is non-nil but someValue does not equal the unwrapped contents of someOptional
}
난 그냥 정확히처럼 작성하는 경우, 컴파일러는 불평 someOptional
풀어 아니지만, 명시 적으로 포장을 벗긴 추가하여 경우 !
물론 런타임 오류의 말에, 나는 어떤 시간이 someOptional
포함되어 있습니다 nil
. ?
대신 추가 하는 것은 !
나에게 의미가 있지만 (선택적 체인의 정신으로), 컴파일러 오류가 사라지는 것은 아닙니다 (즉, 실제로 선택 사항을 풀지 않음).