[swift] 옵셔널 체이닝을 사용한 메소드 호출

옵셔널 체이닝은 스위프트에서 옵셔널 값의 프로퍼티나 메소드에 안전하게 접근하는 방법을 제공합니다.

옵셔널이란?

옵셔널은 값이 있을 수도 있고, 없을 수도 있는 변수나 상수를 나타내는 스위프트의 특징입니다. 변수 또는 상수 뒤에 물음표(?)를 붙여 표현합니다.

옵셔널 체이닝

옵셔널 체이닝을 사용하면 옵셔널 값이 있을 때에만 해당 값의 프로퍼티나 메소드에 안전하게 접근할 수 있습니다. 메소드 호출을 시도하고, 호출된 메소드의 반환 값이 옵셔널이면, 반환 값을 다시 옵셔널 체이닝의 대상으로 사용할 수 있습니다.

아래 예시는 옵셔널 체이닝을 사용하여 안전하게 메소드를 호출하는 방법을 보여줍니다.

class Person {
    var residence: Residence?
}

class Residence {
    var numberOfRooms = 1
    func printNumberOfRooms() {
        print("The number of rooms is \(numberOfRooms)")
    }
}

let john = Person()
// residence 가 nil 이므로 옵셔널 체이닝을 사용하여 메소드 호출
john.residence?.printNumberOfRooms()

위의 예시에서 john.residence?.printNumberOfRooms()residence가 nil이므로 printNumberOfRooms 메소드가 호출되지 않습니다.

결론

옵셔널 체이닝을 사용하면 변수나 상수의 값이 옵셔널일 때도 안전하게 메소드를 호출할 수 있습니다. 이를 통해 코드의 안정성을 높일 수 있습니다.

이처럼 옵셔널 체이닝을 통해 스위프트 코드를 보다 안전하고 효율적으로 작성할 수 있습니다.

스위프트 공식 문서 - 옵셔널