[swift] 옵셔널 체이닝을 사용한 옵셔널 값 반환

앱을 개발하다 보면 옵셔널 값을 다루는 경우가 많습니다. 옵셔널 값은 값이 없을 수 있는 상황을 다룰 때 유용하며, 옵셔널 체이닝은 옵셔널 값을 다루는 기능 중 하나입니다. 옵셔널 체이닝을 사용하면 안전하게 옵셔널 값을 다룰 수 있으며, 값이 없는 경우에도 앱이 크래시되지 않도록 해줍니다.

옵셔널 체이닝을 사용하여 옵셔널 값이 있는지 확인하고, 값이 있는 경우에만 해당 값을 반환하는 방법을 알아보겠습니다.

옵셔널 체이닝을 사용한 옵셔널 값 반환

예를 들어, 다음과 같이 person이라는 옵셔널 객체가 있고, 이 객체 내부에 address 속성이 있는 경우를 가정해보겠습니다.

struct Person {
    var address: Address?
}

struct Address {
    var city: String
    var postalCode: String
}

let person: Person? = getPerson()

let city = person?.address?.city

위의 예시에서 person?.address?.city는 옵셔널 체이닝을 사용한 코드로, person 객체와 address 객체가 모두 옵셔널일 수 있기 때문에 안전하게 접근할 수 있습니다.

person?.address?.city를 통해 city 변수는 String? 타입으로 반환됩니다. 이는 person 객체가 nil이거나 address 객체가 nil인 경우를 고려한 결과입니다.

결론

옵셔널 체이닝은 옵셔널 값들을 안전하게 다루는데 유용한 기능입니다. 옵셔널 값이 연쇄적으로 중첩된 경우에도 간결한 코드로 안전하게 값에 접근할 수 있습니다. 이를 통해 앱이 크래시되는 상황을 방지하고, 안정적으로 옵셔널 값을 다룰 수 있습니다.

참고 문헌: Apple 개발자 문서 - 옵셔널 체이닝