1. 옵셔널 체이닝
- 옵셔널 체이닝은 nil일 수도 있는 프로퍼티나, 메소드 그리고 서브스크립트에 질의(query)를하는 과정
- 옵셔널이 프로퍼티나 메소드 혹은 서브스크립트에 대한 값을 갖고 있다면 그 값을 반환하고 만약 값이 nil이면 nil을 반환
- 여러 질의를 연결해서 할 수도 있음
- 연결된 질의에서 어느 하나라도 nil이면 전체 결과는 nil
// 옵셔널 체이닝 사용 시 하나라도 nil이면 nil
func optionalChainingTest(owner: Person?) {
if let guardJob = owner?.home?.guard?.job {
print("우리집 경비원의 직업은 \(guardJob)입니다")
} else {
print("우리집 경비원은 직업이 없어요")
}
}
2. nill 병합 연산자
- ??
- Optional ?? Value
- 옵셔널 값이 nil일 경우, 우측 값을 반환합니다. (띄어쓰기 주의)
var myCar: String? = nil
print("주요 이동수단: " + myCar ?? "걷기") // 주요 이동수단: 걷기
var myCar: String? = "QM3"
print("주요 이동수단: " + myCar ?? "걷기") // 주요 이동수단: QM3
'Swift' 카테고리의 다른 글
[Swift] 20. assert, guard (0) | 2021.11.18 |
---|---|
[Swift] 19. 타입캐스팅 (0) | 2021.11.17 |
[Swift] 17. 인스턴스 (0) | 2021.10.14 |
[Swift] 16. 상속 (0) | 2021.10.14 |
[Swift] 15. 프로퍼티 Property (0) | 2021.10.07 |
댓글