[swift] 옵셔널 체이닝을 사용한 옵셔널 타입 인스턴스 생성
옵셔널 체이닝을 사용하여 옵셔널 타입의 인스턴스를 생성하려면 다음과 같이 작성할 수 있습니다.
class Person {
var residence: Residence?
}
class Residence {
var address: Address?
}
class Address {
var city: String
init(city: String) {
self.city = city
}
}
let person = Person()
// 옵셔널 체이닝을 사용하여 옵셔널 타입의 인스턴스 생성
let city = person.residence?.address?.city
위의 예제에서 Person
클래스는 residence
프로퍼티를 옵셔널 타입으로 선언하고, Residence
클래스는 address
프로퍼티를 옵셔널 타입으로 선언했습니다. 마지막으로 Address
클래스는 실제 값을 가지는 city
프로퍼티를 정의했습니다.
let city = person.residence?.address?.city
라인에서 옵셔널 체이닝을 사용하여 person
인스턴스의 residence
프로퍼티를 통해 address
프로퍼티 및 city
프로퍼티에 접근하고, 결과적으로 city
변수에는 String
타입의 도시명이 옵셔널 타입으로 할당됩니다.
옵셔널 체이닝을 통해 각각의 프로퍼티에 접근할 때마다 nil 값이 있을 수 있으므로 안전하게 옵셔널 값을 다룰 수 있습니다.
참고 문헌: Swift 공식 문서 - 옵셔널 체이닝