관찰이 가능한 객체
Swift. UI프레임워크에서 사용되는 프로토콜입니다. SwiftUI에서 데이터의 변경을 감지하고 그에 따라 뷰를 업데이트하는 데 사용됩니다.
프로토콜을 채택하는 클래스나 구조체의 속성이 변경될 때마다 해당 변경을 SwiftUI에 알리고, 화면이 자동 갱신됩니다.
import SwiftUI
class MyModel: ObservableObject {
@Published var data: String = "Initial Data"
func updateData(newData: String) {
self.data = newData
}
}
여기서 @Published 프로퍼티 래퍼는 ObservableObject를 사용하여 데이터 변경을 감지하고 뷰를 업데이트하는데 사용됩니다. 해당 속성이 변경될 때마다 SwiftUI는 해당 변경을 감지하고 자동으로 뷰를 업데이트합니다.
MyModel 클래스는 ObservableObject를 채택하고, @Published 속성 래퍼를 사용하여 data 속성을 표시합니다. updateData 메서드를 호출하여 data 속성을 업데이트하면 해당 변경이 SwiftUI에 자동으로 알려져 뷰가 갱신 됩니다.
프로퍼티 옵저버(Property Observer)는 Swift에서 프로퍼티의 값 변화를 감지하고 그에 대한 추가 동작을 수행하는 기능입니다. 프로퍼티 옵저버는 프로퍼티의 값이 변경되기 전과 후에 특정 코드 불록을 실행할 수 있도록 지원합니다.
var myProperty: Int = 0 {
willSet(newValue) {
print("값이 \(newValue)로 변경됩니다.")
}
}
var myProperty: Int = 0 {
didSet(oldValue) {
print("값이 \(oldValue)에서 \(myProperty)로 변경되었습니다.")
}
}
프로퍼티 옵저버는 주로 프로퍼티의 값 변화에 따라 UI업데이트, 다른 프로퍼티 값의 조정, 로그 출력 등의 추가 동작을 수행하는데 사용됩니다. 프로퍼티 옵저버는 모든 저장 프로퍼티와 계산 프로퍼티에 적용할 수 있습니다.
프로퍼티 옵저버를 사용하여 프로퍼티의 값 변화를 감지하고 추가 동작을 수행할 수 있으므로, 코드의 가독성과 유지 보수성을 향상시키는데 도움이 됩니다.