[swift] 프로퍼티 감시자(Property Observers)
프로퍼티 감시자를 사용하려면 willSet
과 didSet
키워드를 이용하여 각각 값을 변경하기 직전과 직후에 호출될 코드를 구현합니다.
예를 들어, 아래와 같이 temperature
프로퍼티를 가지는 클래스를 만들고 감시자를 추가할 수 있습니다.
class Thermostat {
var temperature: Double = 0 {
willSet {
print("현재 온도: \(temperature)℃") // 값이 변경 전의 온도 출력
}
didSet {
if temperature > oldValue {
print("온도가 상승했습니다.")
} else if temperature < oldValue {
print("온도가 하락했습니다.")
} else {
print("온도가 변하지 않았습니다.")
}
}
}
}
위의 코드에서 temperature
프로퍼티에는 willSet
과 didSet
감시자가 추가되어 있습니다. willSet
은 값이 변경되기 전에, didSet
은 값이 변경된 후에 호출됩니다.
이제 Thermostat
클래스를 사용하여 temperature
값을 변경하면 감시자에서 설정한 동작이 수행됩니다.
프로퍼티 감시자는 코드 재사용성과 간결한 구현을 위해 매우 유용합니다. 값을 변경하는 과정에서 추가적인 로직을 쉽게 삽입할 수 있어 프로그래밍을 보다 효율적으로 만들어줍니다.
참고 자료: Swift 공식 문서