[swift] 옵셔널 체이닝과 강제 언래핑
옵셔널은 Swift 언어에서 매우 중요한 개념 중 하나입니다. 어떤 값이 ‘nil’이 될 수 있는지를 표현하는 방법이며, 앱 개발에서 매우 유용하게 사용됩니다. 그러나 때로는 옵셔널에서 실제 값을 가져와야 할 때가 있으며, 이 때 옵셔널 체이닝과 강제 언래핑의 사용이 필요합니다.
옵셔널 체이닝
옵셔널 체이닝은 옵셔널이 연속적으로 연결되어 있는 경우, 하나라도 ‘nil’이면 결과가 ‘nil’이 되는 것을 의미합니다.
class Person {
var job: Job?
}
class Job {
var title: String
}
let person = Person()
if let personJobTitle = person.job?.title {
print("Person's job title is \(personJobTitle)")
} else {
print("Person does not have a job")
}
위의 코드에서 person
이라는 인스턴스의 job
프로퍼티를 옵셔널 체이닝으로 접근하여 title
값을 가져오고 있습니다. 이때 job
이 ‘nil’이면 결과는 ‘nil’이 됩니다.
강제 언래핑
반면 강제 언래핑은 옵셔널의 값을 강제로 추출하는 방법으로, 만약 옵셔널 값이 ‘nil’이라면 런타임 에러가 발생합니다.
let jobTitle = person.job!.title
위의 코드에서는 person
의 job
프로퍼티가 ‘nil’이 아님이 확실한 경우에만 강제 언래핑을 사용하고 있습니다.
결론
옵셔널 체이닝과 강제 언래핑은 옵셔널 값을 다룰 때 매우 유용한 기능입니다. 옵셔널 체이닝을 통해 안전하게 옵셔널 값을 다룰 수 있고, 강제 언래핑은 값이 ‘nil’이 아님을 확신할 때 사용할 수 있습니다.
이러한 기능들을 올바르게 사용하면, Swift 언어에서 안전하고 간결한 코드를 작성할 수 있습니다.
참고 자료
- The Swift Programming Language - Optional Chaining
- The Swift Programming Language - Forced Unwrapping