본문 바로가기
Swift

Swift: Model data

by songmoro 2024. 8. 22.
728x90

앱이 인터페이스를 구동하는 데 사용하는 데이터

SwiftUI는 사용자 인터페이스 디자인에 대한 선언적인 접근 방식을 제공한다.
뷰의 계층 구조를 구성할 때, 뷰에 대한 데이터 종속성도 나타내는데 외부 이벤트 또는 사용자가 수행하는 작업으로 인해 데이터가 변경될 때 SwiftUI는 인터페이스의 영향을 받는 부분을 자동으로 업데이트한다.

결과적으로, 프레임워크(Frameworks)는 뷰 컨트롤러(View Controller)가 전통적으로 하는 대부분의 작업을 자동으로 수행한다.

 

 


프레임워크는 앱의 데이터를 사용자 인터페이스(User Interface)에 연결하기 위한 상태 변수(State), 바인딩(Binding)과 같은 도구를 제공한다.
이 도구들은 부분적으로 접착제 논리(Glue logic)의 양을 줄임으로써 앱의 모든 데이터에 대한 단일 진실 소스(Single source of truth)를 유지하는 데 도움을 준다.
- State 속성: 값 유형을 상태 속성으로 래핑 하여 뷰 내에서 일시적인 UI 상태를 로컬로 관리
- Binding 속성: local state와 같은 진실 소스의 참조를 공유한다.

모델 데이터 유형에 `Observavle()` 매크로를 적용해서 뷰에서 참조 모델 데이터에 연결하고 관찰할 수 있다.

State 속성을 사용하여 뷰(View)에서 직접 관찰 가능한 모델 데이터 유형을 인스턴스(Instance)화 할 수 있으며, Environment 속성 래퍼를 사용하여 참조(Reference)를 전달하지 않고 관찰 가능한 모델 데이터를 계층 구조의 다른 뷰와 공유할 수 있게 한다.

728x90

'Swift' 카테고리의 다른 글

Swift: Core Location  (0) 2024.09.09
Swift: Managing user interface state  (0) 2024.08.22
Swift: Attributes  (0) 2024.08.22
Swift: Network 프레임워크  (0) 2024.08.17
Swift: Result Builder  (0) 2024.08.13