728x90
Environment 객체
- 구독 객체는 앱 내의 몇몇 SwiftUI 뷰가 상태를 사용해야할 경우에 적합하지만 다른 뷰로 이동 (navigation)하는데 이동되는 뷰에서도 동일한 구독 객체에 접근해야하면 그곳으로 구독 객체에 대한 참조를 전달해야한다.
- 즉 앱 내의 여러 뷰에서 동일한 구독 객체에 접근해야하는 경우는 Enviroment 객체를 사용하는 것이 더 합리적일 수 있다.
- Enviroment 객체는 Observable 객체와 같은 방식으로 선언된다.
- ObservableObject프로토콜을 따라야하며 '게시된 프로퍼티' 가 있어야 한다.
- 차이점은 이 객체가 SwiftUI 환경에 저장되며 모든 뷰가 접근할 수 있다는 것이다.
- Environment 객체를 구독해야하는 객체는 @EnvironmentObject 프로퍼티 래퍼를 사용해서 참조하면 된다.
- Environment 객체는 Observer 내에서 초기화 될 수 없으므로 접근하는 뷰가 화면을 설정하는 동안 구성해야한다.
728x90
'iOS > SwiftUI' 카테고리의 다른 글
[SwiftUI] List (0) | 2022.01.22 |
---|---|
[SwiftUI] Slider 활용 예제 (0) | 2022.01.18 |
[SwiftUI] List, Observable 객체 활용 예시 (0) | 2022.01.16 |
[SwiftUI] Observable 객체 (0) | 2022.01.16 |
[SwiftUI] 상태 바인딩 (State Binding) (0) | 2022.01.15 |
댓글