[swift] 옵셔널 체이닝을 사용한 옵셔널 타입 하위 요소 접근

옵셔널 체이닝은 스위프트에서 옵셔널 타입의 하위 속성 또는 메소드에 안전하게 접근하기 위한 방법입니다. 이 기능을 사용하면 값이 없는 상황에서도 프로그램이 멈추지 않고 계속해서 실행할 수 있습니다.

옵셔널 체이닝의 기본 원리

옵셔널 체이닝은 옵셔널 타입의 속성 또는 메소드를 호출할 때 사용하는 물음표 연산자(?)를 의미합니다.

class Person {
    var residence: Residence?
}

class Residence {
    var address: Address?
}

class Address {
    var buildingNumber: String
}

let person = Person()
if let buildingNumber = person.residence?.address?.buildingNumber {
    print("주소 건물 번호: \(buildingNumber)")
} else {
    print("주소 정보를 찾을 수 없음")
}

위의 예제에서 person이라는 인스턴스의 residence 속성은 옵셔널 타입이며, residenceaddress 속성 또한 옵셔널 타입입니다. 옵셔널 체이닝을 사용하여 buildingNumber 속성에 접근할 때, 만약 중간에 있는 어느 하나의 속성이라도 nil이라면 옵셔널 체이닝은 그 즉시 중단되고 nil을 반환합니다.

옵셔널 체이닝을 사용한 코드 패턴

옵셔널 체이닝은 스위프트에서 옵셔널 타입을 다룰 때, 안전하게 접근하는 강력한 도구로 활용될 수 있습니다.

참고 자료