[swiftUI] - 앱 계층 구조

Jenny·2024년 2월 2일

SwiftUI 앱 계층 구조

App

  • App 객체는 SwiftUI 애플리케이션 구조 내 최상위 요소이며 애플리케이션의 실행 중인 각 인스턴스의 시작 및 LifeCycle 을 처리한다.
  • App 요소는 애플리케이션의 사용자 인터페이스를 구성하는 다양한 Scene을 관리하는 역할을 한다.
  • 애플리케이션에는 하나의 App 인스턴스만 포함한다.
  • body라는 computed Property를 요구하며, body는 Scene 프로토콜을 준수하는 인스턴스를 리턴해야한다.

Scene

  • SwiftUI 애플리케이션에는 하나 이상의 Scene 포함된다.
  • Scene은 애플리케이션 사용자 인터페이스의 섹션 또는 영역을 나타낸다.
  • SwiftUI에서는 응용 프로그램을 설계할 때 사용할 수 있는 미리 빌드된 기본 Scene 타입이 포함되어 있으며, 그중 가장 일반 적인 것은 WindowGroup, DocumentGroup이다
    • WindowGroup : Window라는 개념은 View들의 컨테이너 역할을 하면서 동시에 터치 이벤트와 같은 이벤트를 가장 먼저 수신하며 subviews 들에게 이벤드 전달이 가능하다 responder chain 가능
    • macOS와 iPadOS와 같이 그룹으로부터 여러개의 window를 띄울 수 있는 형태일때 WindowGroup을 여러개 정의하여 사용

View

  • View는 Button, Label, TextField 와 같은 사용자 인터페이스의 시각적 요소를 구성하는 기본적인 빌딩 블록이다.
  • 각 Scene에는 애플리케이션의 사용자 인터페이스 섹션을 구성하는 뷰의 계층 구조가 포함된다.
  • View는 TextView 또는 Button과 같은 개별 시각적 요소이거나 다른 View를 관리하는 컨테이너 형태를 취할 수 있다.
  • SwiftUI 에서 View 프로토콜을 따르는 구조체로 선언된다. View프로토콜을 따르도록 하기 위해서 구조체 body 프로퍼티를 가지고 있어야 하며, 이 프로퍼티 안에 View가 선언되어야 한다.
profile
"Jenny 있게 iOS 개발을 하며 대체 불가능한 인재가 되자"

0개의 댓글