[swift] 옵셔널 체이닝

옵셔널 체이닝은 Swift에서 안전하게 옵셔널 값을 다룰 수 있는 기능입니다. 옵셔널이 연속적으로 연결될 때 발생할 수 있는 nil 값에 대한 안전한 접근을 보장합니다.

옵셔널이란?

옵셔널은 값이 존재할 수도 있고, 존재하지 않을 수도 있는 경우에 사용합니다. 일반적으로 값이 없는 변수나 상수를 표현할 때 사용되며, nil이 될 수 있는 값은 해당 타입 뒤에 물음표로 표시됩니다.

var optionalValue: Int? = 5
var nilValue: Int? = nil

옵셔널 체이닝의 사용

옵셔널 체이닝을 사용하면 중첩된 옵셔널 값에 안전하게 접근할 수 있습니다. 만약 중첩된 옵셔널 중 하나라도 nil이라면 결과는 nil이 됩니다.

class Person {
    var residence: Residence?
}

class Residence {
    var address: Address?
}

class Address {
    var city: String
    init(city: String) {
        self.city = city
    }
}

let person = Person()
if let city = person.residence?.address?.city {
    print("Person lives in \(city)")
} else {
    print("Unable to retrieve the city")
}

위의 예시에서 person.residence?.address?.city에서 residence, address, city 중 하나라도 nil이면 city에는 nil이 할당되어 “Unable to retrieve the city”가 출력됩니다.

옵셔널 체이닝을 사용하면 안전하게 옵셔널 값을 다룰 수 있으며, 간단하고 명확한 코드를 작성할 수 있습니다.

결론

옵셔널 체이닝은 중첩된 옵셔널 값에 안전하게 접근하기 위한 강력한 기능으로, Swift에서 옵셔널을 다룰 때 자주 사용됩니다.

참고 자료: The Swift Programming Language - Optional Chaining