[swift] 옵셔널 체이닝을 사용한 옵셔널 타입의 타입 캐스팅
이번에는 Swift에서 옵셔널 체이닝과 옵셔널 타입의 타입 캐스팅에 대해 알아보겠습니다.
옵셔널 체이닝
옵셔널 체이닝은 옵셔널 타입의 속성 또는 메소드에 접근할 때 사용하는 방법입니다. 옵셔널 값이 nil이면 체인 전체가 nil을 반환하고, 값이 존재하면 계속해서 체인을 이어나갈 수 있습니다.
예를 들어, 다음과 같이 person
이라는 옵셔널 객체가 있을 때 person.address?.street
와 같이 옵셔널 체이닝을 사용하여 address
가 nil이면 nil을 반환하고, 그렇지 않으면 street
에 접근할 수 있습니다.
class Address {
var street: String = "Main Street"
}
class Person {
var address: Address? = Address()
}
let person: Person? = Person()
if let street = person?.address?.street {
print("Street: \(street)")
} else {
print("No street address found")
}
옵셔널 타입의 타입 캐스팅
옵셔널 타입의 타입 캐스팅은 옵셔널이나 옵셔널이 아닌 타입 사이의 변환에 사용됩니다. 타입 캐스팅 연산자 as?
나 as!
를 사용하여 옵셔널 타입 간의 변환을 수행할 수 있습니다.
다음의 예시는 as?
연산자를 사용하여 person
객체를 Person
타입으로 타입 캐스팅합니다.
let person: Any = Person()
let newPerson = person as? Person
if newPerson != nil {
print("Casting successful")
} else {
print("Casting failed")
}
이와 같이 옵셔널 체이닝과 옵셔널 타입의 타입 캐스팅은 Swift에서 안전하고 효율적인 코드를 작성하는 데 도움이 됩니다.
참고 자료: The Swift Programming Language - Optional Chaining, The Swift Programming Language - Type Casting