0Pricing
Swift Academy · 강의

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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. if let과 간결한 바인딩
  2. guard let으로 조기 종료하기
  3. 여러 옵셔널 바인딩하기
  4. switch와 for에서 옵셔널 패턴 사용하기
← Swift Academy(으)로 돌아가기