[swift] 옵셔널 체이닝을 사용한 옵셔널 타입 인스턴스 반환

옵셔널 체이닝을 사용하여 옵셔널 타입의 인스턴스를 반환하는 예시 코드를 살펴보겠습니다.

class Person {
    var residence: Residence?
}

class Residence {
    var address: Address?
}

class Address {
    var street: String = "1234 Swift Avenue"
}

let person = Person()

if let street = person.residence?.address?.street {
    print("Person's street address is \(street)")
} else {
    print("Unable to retrieve the street address")
}

위의 코드에서 street 상수는 person 인스턴스의 residenceaddress 프로퍼티에 안전하게 접근하여 값이 nil일 경우에 대비한 옵셔널 타입으로 할당됩니다.

이렇게 옵셔널 체이닝을 사용하면 연속된 옵셔널 타입 프로퍼티에 안전하게 접근할 수 있으며, 마지막으로 연결된 프로퍼티에 값이 존재하지 않는다면 자연스럽게 nil을 반환합니다.