본문 바로가기

ObservedObject

[Combine] ViewModel 의 상태변화를 View 에게 알려주고 싶다면 어떻게 해야할까? 오늘은 업무를 진행할때 겪은 어려움을 해결했던 과정에 대해 글을 작성해보려 합니다. 제목 그대로 ViewModel 의 상태변화를 View 에게 알려주고 싶다면 어떻게 해야할까요? @ObservedObject private var contentViewModel: ContentViewModel 이런식으로 @ObservedObject 를 붙여주게 된다면 ViewModel 의 값이 바뀔때 마다 View 가 알 수 있게 됩니다. 그렇다면, ViewModel 안에 또 다른 ViewModel 의 상태 변화를 알고 싶다면 어떻게 해야할까요? final class ContentViewModel: ObservableObject { @ObservedObject var detailViewModel: DetailViewMode.. 더보기
[SwiftUI] 데이터 흐름에 대해 알아봅시다 (2/3) (@StateObject, @ObservedObject) 지난번에 이어 SwiftUI 에서 데이터를 관리하는 방법 중 @StateObject, @ObservedObject 에 대해 알아보도록 합시다. 1. @StateObject 정의를 살펴보면 관찰 가능한 객체를 인스턴스화 하는 프로퍼티 래퍼 라고 정의되어 있습니다. 인스턴스화 한다는 것은 '객체를 생성하고 메모리에 할당하는 것' 을 의미합니다. @StateObject 를 사용할땐 단일 정보 소스로 사용하세요. 속성 선언엔 @StateObject 특성을 적용하고 ObserverableObject 프로토콜을 준수하는 초기 값을 제공하여 App, Scene, View 에서 상태 개체를 만듭니다. 뷰에서 생성된 데이터의 상태가 저장될 수 있으니 이렇게 생성된 하나의 데이터를 다른 곳에선 참조하는 식으로 사용하라는 .. 더보기