switch와 for에서 옵셔널 패턴 사용하기
case let 패턴으로 옵셔널을 매칭합니다.
switch와 for에서 옵셔널 패턴 사용하기은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
스위치에서 옵셔널 사용하기
옵셔널을 직접 스위치할 수 있습니다. .some(value)과 .none 케이스는 값이 있거나 nil인 경우와 일치합니다.
let value: Int? = 7
switch value {
case .some(let n):
print("Got \(n)")
case .none:
print("Nothing")
}물음표 축약 패턴
case let x?는 .some(x)의 축약형입니다. 뒤에 붙은 ?는 값을 언래핑하여 변수에 넣는다는 뜻입니다.
let value: String? = "Swift"
switch value {
case let text?:
print(text.uppercased())
case nil:
print("none")
}nil 직접 일치시키기
.none 대신 리터럴 nil을 사용하여 nil 케이스와 일치시킬 수 있습니다. 이렇게 작성하면 더 자연스럽게 읽힙니다.
let value: Int? = nil
switch value {
case let n?:
print(n)
case nil:
print("no value")
}특정 값과 일치시키기
언래핑한 특정 값과 일반적인 언래핑 패턴을 함께 사용할 수 있습니다.
let status: Int? = 404
switch status {
case 200?:
print("OK")
case 404?:
print("Not Found")
case let code?:
print("Other: \(code)")
case nil:
print("No status")
}반복문에서의 for case let
옵셔널을 반복 처리할 때 for case let x? in array는 nil인 요소를 자동으로 건너뛰고 나머지 요소를 언래핑합니다.
let items: [Int?] = [1, nil, 3, nil, 5]
for case let n? in items {
print(n)
}for case가 필터링하는 방식
case let n? 패턴은 nil이 아닌 요소에만 일치하므로 반복문 본문은 값이 있는 경우에만 실행됩니다.
let names: [String?] = ["Ann", nil, "Bo"]
for case let name? in names {
print(name.count)
}if let으로 같은 결과 만들기
일반 반복문 안에서 if let을 사용해 같은 결과를 만들 수도 있지만, for case let x?이 더 간결합니다.
let items: [Int?] = [2, nil, 4]
for item in items {
if let item {
print(item)
}
}열거형 옵셔널 일치시키기
옵셔널 패턴은 다른 패턴과 결합할 수 있습니다. 예를 들어 옵셔널 안에서 특정 값과 일치시킬 수 있습니다.
let codes: [Int?] = [1, 2, nil, 3]
for case let c? in codes where c % 2 == 1 {
print("odd: \(c)")
}for case와 함께 사용하는 조건절
for case 반복문에서 언래핑한 뒤 더 필터링하려면 where 절을 추가하십시오.
let scores: [Int?] = [40, nil, 80, 95]
for case let s? in scores where s >= 80 {
print("high: \(s)")
}조건절을 사용하는 스위치
옵셔널을 대상으로 하는 스위치 안에서는 언래핑한 바인딩을 where 절로 더 구체화할 수 있습니다.
let value: Int? = 12
switch value {
case let n? where n > 10:
print("big: \(n)")
case let n?:
print("small: \(n)")
case nil:
print("none")
}이러한 패턴을 사용하는 이유
옵셔널 패턴을 사용하면 하나의 모든 경우를 다루는 구조에서 값이 있는 경우와 없는 경우를 처리할 수 있어, 흩어진 nil 검사를 줄일 수 있습니다.
let result: String? = nil
switch result {
case let r?:
print("Value: \(r)")
case nil:
print("Empty result")
}간단히 확인하기
옵셔널 패턴을 확인해 보십시오.
정리: 스위치와 반복문에서의 옵셔널 패턴
스위치에서는 .some의 축약형인 case let x?과 case nil을 사용하십시오. 반복문에서는 for case let x?으로 nil이 아닌 요소를 언래핑하면서 순회할 수 있으며, where로 조건을 더 구체화할 수도 있습니다.
let xs: [Int?] = [10, nil, 20]
for case let x? in xs { print(x) }자주 묻는 질문
“switch와 for에서 옵셔널 패턴 사용하기” 강의는 무료인가요?
네 — “switch와 for에서 옵셔널 패턴 사용하기” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“switch와 for에서 옵셔널 패턴 사용하기”에서 뭘 배우나요?
case let 패턴으로 옵셔널을 매칭합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“switch와 for에서 옵셔널 패턴 사용하기” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- if let과 간결한 바인딩
- guard let으로 조기 종료하기
- 여러 옵셔널 바인딩하기
- switch와 for에서 옵셔널 패턴 사용하기