nil-결합 현산자(a ?? b) 는 옵셔널 a 에 값이 있으면 a를 언래핑 하고, a가 nil 이면 기본값 b를 반환한다.
표현식 a 는 항상 옵셔널 타입이고, 표현식 b는 a에 저장된 타입과 같아야 한다.
let color = "Red"
var definedColor: String? // 기본값이 nil 인 옵셔널 String 으로 정의
let selectedColor: String? = "Orange"
// definedColor가 nil 이기 때문에 b를 반환한다.
var colorUse = definedColor ?? color
print(colorUse) // "Red"
// selectedColor가 nil이 아니기 때문에 selectedColor의 래핑된 값을 사용한다.
var myColor = selectedColor ?? color
print(test) // Optional("Orange")
위의 예제는 아래의 코드를 짧게 표현한 것이다
let color = "Red"
var definedColor: String? // 기본값이 nil 인 옵셔널 String 으로 정의
let selectedColor: String ? = "Orange"
// definedColor가 nil 이기 때문에 b를 반환한다.
definedColor != nil ? definedColor! : color
print(colorUse) // "Red"
// selectedColor가 nil이 아니기 때문에 selectedColor의 래핑된 값을 사용한다.
selectedColor != nil ? selectedColor : color
print(test) // Optional("Orange")
'비공개 > 공식문서 간단정리' 카테고리의 다른 글
[Swift] 논리 연산자 (0) | 2023.12.13 |
---|---|
[Swift] 범위 연산자 (0) | 2023.12.13 |
[Swift] 삼항 조건 연산자 (0) | 2023.12.13 |
[Swift] 복합 대입 연산자 (0) | 2023.12.13 |
[Swift] 산술 연산자 (0) | 2023.12.13 |