[swift] 옵셔널 매핑과 평면화의 예시
  1. 옵셔널 매핑
  2. 옵셔널 평면화
  3. 참고 자료

옵셔널 매핑

옵셔널 매핑은 옵셔널 바인딩과 비슷하게 동작하며, 옵셔널 값이 있는 경우에만 일련의 작업을 수행한다. 만약 옵셔널 값이 없을 경우에는 매핑된 코드 블록은 실행되지 않는다.

예를 들어, 옵셔널 값이 있는 경우에만 그 값을 2배로 곱하는 작업을 수행하고자 한다면 아래와 같이 map 함수를 사용할 수 있다.

let optionalNumber: Int? = 10

let doubledNumber = optionalNumber.map { $0 * 2 }

위의 예시 코드에서 optionalNumber가 옵셔널 값이므로 map 함수를 사용하여 해당 값을 2배로 곱한 후 doubledNumber에 할당한다.

옵셔널 평면화

옵셔널 평면화는 중첩된 옵셔널(옵셔널의 옵셔널)을 다룰 때 사용된다. 이 때 옵셔널을 평면화하여 깔끔하게 추출할 수 있다.

예를 들어, 중첩된 옵셔널에 대해 평면화를 수행하여 안전하게 값에 접근하는 방법은 다음과 같다.

let nestedOptionalNumber: Int?? = 10

if let unwrappedNumber = nestedOptionalNumber {
    print("Unwrapped number: \(unwrappedNumber)")
} else {
    print("No value")
}

위의 예시 코드에서 nestedOptionalNumber가 중첩된 옵셔널이므로 if let 구문을 사용하여 값을 안전하게 추출하고 출력한다.

참고 자료