옵셔널 체이닝은 스위프트에서 옵셔널 값을 가진 여러 개의 프로퍼티나 메서드 호출을 안전하게 연결하여 사용하는 방법을 말합니다.
옵셔널 체이닝을 사용하면 중간에 하나라도 nil이면 전체 체인이 중단되고 nil을 반환하므로 코드에서 일일이 nil 체크를 할 필요가 없어집니다.
optionalInstance?.property
optionalInstance?.method()
class Person {
var name: String?
var address: Address?
}
class Address {
var street: String?
var city: String?
var postalCode: String?
}
let person: Person? = Person()
let postalCode = person?.address?.postalCode
print(postalCode) // 출력: nil
옵셔널 체이닝을 통해 옵셔널 값에 메서드도 호출할 수 있습니다.
let person: Person? = Person()
let city = person?.address?.city?.uppercased()
print(city) // 출력: nil
참고(출처) : 개발하는 정대리, 야곰(Swift5)