Swift

[Swift] Optional Unwrapping (3) - 닐 코얼레싱 (Nil-Coalescing)

띵지니어 2024. 1. 18. 23:21

지난 시간에 옵셔널 언래핑 하는 방법 중 옵셔널 바인딩(Optional Binding) 부분을 공부해 봤어요
옵셔널 바인딩스위프트에 꽃 이라 .. 꼭 참고해 보면 좋아요!

https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-2-%EC%98%B5%EC%85%94%EB%84%90-%EB%B0%94%EC%9D%B8%EB%94%A9-Optional-Binding-if-let-guard-let

 

[Swift] Optional Unwrapping (2) - 옵셔널 바인딩 (Optional Binding) if let , guard let

지난 시간에 옵셔널 언래핑 하는 방법 중 강제 추출(Forced Unwrapping) 부분을 공부해 봤어요 https://thingjin.tistory.com/entry/Swift-Optional-Unwrapping-%EA%B0%95%EC%A0%9C-%EC%B6%94%EC%B6%9C-Forced-Unwrapping 강제 추출이 궁

thingjin.tistory.com



이번 시간에는 옵셔널 언래핑하는 방법 중 번째 방법을 소개하려 해요 바로바로

닐 코얼레싱 ( Nil-Coalescing ) 방법이에요!

저렇게 읽는 게 맞나.. 아무튼 !!
강제 추출 방법(Forced Unwrapping), 옵셔널 바인딩(Optional Binding)보다는
상대적으로 엄청 쉬운 문법이에요
글도 되게 가벼운 마음으로 읽으셔도 돼요 ㅎㅎ

 

Nil-Coalescing

 

닐 코얼레싱은 아래와 같은 Syntax로 사용돼요

바로
?? (물음표 두개) 
연산자를 사용해요.

옵셔널 표현식이나 삼항 연산자에서 봤던 물음표 맞아요

닐 코어레싱은 간단한 문법으로 옵셔널 값이 있을 때, 없을 때를 구분해서 값을 넣을 수 있어요!

 

Syntax 와 개념으로 봤을 때는 잘 모르니까 예제로 볼게요!
늘 봤던 지수로 예시를 들게요!

조금 감이 오실까요?

 

한번 작동 순서를 봐볼게요.


참고로 default 값Non-Optional 표현식에 위치한 값이에요 !

설명은 여기서 끝났고 주의 사항 ‼️ 하나가 있어요
바로

좌측의 벗겨진 타입과 우측의 default 타입은 같아야합니다.

무슨 말이냐면

이해가 되셨을까요?


타입을 다르게 하고 싶으면 if 문으로 처리해도 좋아요 !
예를 들어 아래와 같게 말이에요!

결과 : 28 출력

이렇게 하면 String 타입과 Int 타입을 동시에 사용을 할 수 있어요!

여기까지  닐 코얼레싱 포스팅을 마무리..
하기 전에 !!

제가 삼항연산자의 ? 와 비슷하다고 했는데 
비교를 해보고 마무리를 해볼게요!

 

이해가 잘 되셨으면 좋겠어요

다음번 포스팅은
옵셔널 언래핑의 4번째 방법인 중요한
옵셔널 체이닝
에 대해서 포스팅해보겠습니다 ~~