날마다 조금씩 Swift - 연산자편3

유진혁·2023년 10월 15일
0

swift

목록 보기
7/17

Ternary Conditional Operator

3항 연산자, 조건(true or false) ? 값1 : 값2의 형식을 띈다. 조건이 참(true)이면 값1을 거짓(false)이면 값2의 값을 가진다.

let contentHeight = 40
let hasHeader = true
let rowHeight = contentHeight + (hasHeader ? 50 : 20)
// rowHeight 에는 90의 값이 들어간다.

 

Nil-Coalescing Operator

nil-coalescing operator (a ?? b)는 a의 값이 존재하지 않을 때(nil), b의 값으로 평가된다.

아래와 같이 사용한다

a != nil ? a : b

이 nil-coalescing operator는 기본값을 세팅할 때 사용하기도 한다.

let defaultColorName = "red"
var userDefinedColorName: String?   // 변수가 nil인 상황


var colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName가 할당되지 않아 nil이기 때문에 defaultColorName의 값인 "red"가 할당된다.

마찬가지로 nil이 아니라면 ?? 뒤의 값은 평가되지 않는다.

userDefinedColorName = "green"
colorNameToUse = userDefinedColorName ?? defaultColorName
// userDefinedColorName가 nil이 아니기 때문에 colorNameToUse는 "green"이 되지 않는다.
profile
개발자

0개의 댓글