[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 개발자 문서 - 옵셔널 체이닝