옵셔널 패턴

쏘스야·2023년 4월 5일
0

ios 개발자의 첫걸음

목록 보기
40/61
/**
 옵셔널 패턴 (Optional Pattern)
 */
let number10: Int? = 1

// 1. 열거형 케이스 패턴(앞에서 배운)

switch number10 {
case .some(let z):
    print(z)
case .none:
    print("nil")
}


// 2. 옵셔널 패턴 (현재 배울)
switch number10 {
case let z?: // .some을 조금 더 간소화하는 문법
    print(z)
case nil: // .none 이라고 써도 됨
    print("nil")
}

/**
 옵셔널 패턴의 사례(열거형 케이스 패턴과 비교)
 */

let numb: Int? = 7
print(num)

// 1. 열거형 케이스 패턴
switch num {
case .some(let x):
    print(x)
case .none:
    break
}

// 2. 옵셔널 패턴
switch num {
case let x?:
    print(x)
case nil:
    print("nil")
    break
}

/**
 if문
 */

// 1. 열거형 케이스 패턴

if case .some(let x) = num {
    print(x)
}

// 2. 옵셔널 패턴
if case let x? = num {
    print(x)
}


/**
 for 문
 */

let array10: [Int?] = [1,3, nil, 5,7]

// 1. 열거형 케이스 패턴
for case .some(let number) in array10{
    print(number)
}

// 2. 옵셔널 패턴
for case let x? in array10 {
    print(x)
}
profile
개발자

0개의 댓글