Nil Coalescing Operator

조재민·2023년 7월 30일
0
post-thumbnail

오늘 공부한 내용

  • X-code에 전체적인 코드에서 오류난 부분 한눈에 알아보는 법(map)
  • nil coalescing operator 란?

X-code / map 기능

오늘 X-code 로 코드를 짜던 중 이제서야 눈치채고 이상한 점을 찾았다. 보통 X-code를 쓰다보면 우측에 코드의 전체적인 맵이 보이면서 오류가 나면 어느 부분에서 오류가 났는지 직관적으로 보여야 하는데 그 맵이 안보였다ㅠㅠ
이렇게 코드를 전체적으로 보여주는 map이 나와야 하는데 내 화면은 저게 나오지 않아 코드를 짠 뒤에 실행했을 때 오류가 나면 어디서 오류가 난건지 한눈에 찾아보기가 힘들었다ㅠㅠ
X-code라는 것을 처음 접해본 개린이인 나에게는 어떤 설정이 저 map을 on/off 하는지 알 방법이 없어서 이것저것 다 해보다가 지인의 도움으로 해결했다.

우측 상단에 저 빨간색 네모안에 있는 버튼을 누른다.

그럼 저렇게 창이 열리는데 네모친 "Minimap"을 체크해주면 코드맵이 생성된다!!

Nil Coalescing Operator

Nil Coalescing Operator이란??

Nil Coalescing Operator은 "nil 병합 연산" 이라고 한다. Coalescing 은 "하나로 합치다" 라는 뜻을 가지고 있다. nil 병합 연산자는 nil을 하나로 만들어 준다는 느낌으로 생각하면 된다.
nil 병합 연산자는 아주 간단하게 한줄로 언래핑을 할 수 있다는 장점이 있다.

Force unwrapping : !를 써서 강제로 옵셔널 추출
Optional Binding : if let, guard let 을 사용하여 옵셔널 추출
Optional Chaining : 체인의 형태처럼 연쇄적으로 옵셔널에 접근
Nil Coelascing Operator : ?? 을 써서 아주 간단히 언래핑

Nil Coalescing Operator 기본 형식

a ?? b
  • a 는 옵셔널 값이고 b 는 옵셔널 값이 아닌 일반 값 이다.
    'a'가 nil이 아닌 경우 'a'의 값을 반환한다.
    'a'가 nil인 경우 'b'의 값을 반환한다.
  • a 와 b 의 타입이 같아야 함
    ( a의 타입이 Int 형식이라면, b 또한 Int 형식이여야 함)

Nil Coalescing Operator 예제 코드

var num: Int?
var num2 = 3

let test = num ?? num2
print(test) //출력 결과: 3(num 값이 nil이기 때문에 3의 값이 선택됌.
var num: Int? = 10
var num2 = 6

let test = num ?? num2 
print(test) //출력 결과: 10(num 값이 nil이 아니기 때문에 6의 값이 선택됌.)
var num: Int? = nil
var num2 = 12

let test = num ?? num2
print(test) //출력 결과: 12(num 값이 nil이기 때문에 12의 값이 선택됌.)
profile
“누군가는 너를 사랑하고 있다.”

0개의 댓글

관련 채용 정보