본문 바로가기

iOS/Swift

Swift) Optional 부수기 (5) ?? 연산자 (Nil-Coalescing Operation)

안녕하세요 cows입니다 🐂🐂ㅎㅎ

 

오늘은 더 가벼운 내용이에여

 

거의 날로먹는 내용이라

따로 포스팅을 해야 하나 했는데

뭐 꼭 한군데 몰아서 포스팅 할 필요는 없잖음!?

 

누군간 정말 이 개념만 궁금해서

서치를 했을 수도 있구 하핫

 

 

오늘 내용은

 

??

 

오늘 내용 뭐냐고 묻는 거 아님

?? 문법에 대해 공부할 것임

 

여러분 이 연산자 다들 아무렇지 않게 쓰지만

이름도 모르고 쓰시는 분들 많은 거 다 앎

 

한낱 연산자라도 이름을 불러주어야 나에게로 와 꽃이 되는 것임 (문과출신)

쨌든 풀 네임은

 

Nil-Coalescing Operator

닐-코얼레이싱 

 

 

친절하게 발음도 써드립니다

 

 

 

 

 

1. Nil-Coalescing Operator

 

이 문법을 사용하면 말이지

Optional Type 표현식에 값이 저장되어 있는지 확인하고 꺼낼 필요가 없어짐

 

Syntax부터 보셈

 

 

 

 

요런 느낌임

저렇게 보니까 먼말인지 도통 모르겠네

 

예제를 보면 쉬움

 

 

 

 

자 Optional String Type인 name이 있음

이때, 

 

name이 nil이 아닐 경우 -> hello, \(name)

name이 nil일 경우 -> hello, what's your name?

 

이런 메세지를 출력하고 싶음

 

 

기존 옵셔널 바인딩을 이용하면 

 

 

 

이렇게 구현했을 거 아님?

 

근데 Nil-coalescing을 이용해서 다음과 같이 간단하게 만들 수 있음

 

 

 

 

한 줄로 끝!!~~~

아이 간단하다~~~~

 

 

메커니즘은

 

 ① name에 값이 있을 경우 

 

 

 

 

 ② name에 값이 없을 경우 (nil) 

 

 

 

 

오른쪽 피연산자는 보통 값이 없을 때 사용할 default를 정의함

 

 

 

.

.

 

 

주의할 점은

Nil-Coalescing에 사용되는 Optional Type과 Non-Optional Type은

 Optional을 제외하면 동일한 Type이어야 함

 

ex) Optional String Type ?? Non-Optional String Type (O)

Optional String Type ?? Non-Optional Int Type (X)

 

 

 

 쩝..

약간 삼항 연산자 같은 느낌 나지 않음??

너무 쉬워서 별도의 설명은 더 안 하겠음!!

 

 

 

-끗!!!!!-

 

 

 

 

 

 

 

피드백 환영합니다 :)



Calendar
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
최근 댓글
Visits
Today
Yesterday