[swift] 옵셔널 매핑과 평면화의 예시
옵셔널 매핑
옵셔널 매핑은 옵셔널 바인딩과 비슷하게 동작하며, 옵셔널 값이 있는 경우에만 일련의 작업을 수행한다. 만약 옵셔널 값이 없을 경우에는 매핑된 코드 블록은 실행되지 않는다.
예를 들어, 옵셔널 값이 있는 경우에만 그 값을 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
구문을 사용하여 값을 안전하게 추출하고 출력한다.
참고 자료
- Swift 공식 문서: The Swift Programming Language
- Apple 개발자 문서: Optional