[SwiftUI] @StateObject, @ObservedObject 이해하기


[SwiftUI] @StateObject, @ObservedObject 이해하기

`@StateObject`와 `@ObservedObject`는 SwiftUI에서 사용되는 두 가지 프로퍼티 래퍼입니다. 둘 다 ObservableObject 프로토콜을 준수하는 객체의 변화를 감지하여 뷰를 업데이트하는 데 사용되지만, 주요한 사용 케이스와 라이프 사이클 관리 측면에서 차이가 있습니다. 1. **@StateObject**: - `@StateObject`는 **소유자**입니다. 즉, SwiftUI가 이 객체의 라이프 사이클을 관리하게 됩니다. - `@StateObject`는 주로 뷰 내에서 처음 생성되는 객체에 사용됩니다. - 뷰가 다시 생성되어도, `@StateObject`로 마킹된 객체는 파괴되지 않고 존속합니다. - 이러한 특징 덕분에 뷰의 라이프 사이클 동안 한 번만 초기화하고 유지하려는 객체 (예: 뷰 모델)에 적합합니다. 2. **@ObservedObject**: - `@ObservedObject`는 **참조**입니다. 객체의 라이프 사이클은 SwiftUI가 ...


#mvvm #ObservedObject #StateObject #swiftui

원문링크 : [SwiftUI] @StateObject, @ObservedObject 이해하기