본문 바로가기
iOS/SwiftUI

[SwiftUI] Environment 객체

by Sky Titan 2022. 1. 16.
728x90
 

핵심만 골라 배우는 SwiftUI 기반의 iOS 프로그래밍 - YES24

SwiftUI는 물론 애플리케이션 개발과 출시를 위한 모든 과정을 담았다!이 책의 목적은 SwiftUI와 Xcode 11, 그리고 스위프트 5 프로그래밍 언어를 사용하여 iOS 13 애플리케이션 제작 기술을 전달하는 데

www.yes24.com

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

댓글