go back to basic - @main 플젝만들면 항상생기는 파일 이건 몰까?

2024. 3. 1. 23:32·SWIFT개발

어떠한 프로젝트를 만들면 항상 App파일과 ContentView가 만들어진다. 그리고 WindowGroup안에는 ContentView가 들어있다. 이것은 어떻게 작동하는 방식일까?

@main은 Type 기반 프로그램 엔트리포인트로 아 너가 앱이 최초 시작점이자 진입점이구나를 알수 있다.

보면 이 구조체는 App프로토콜을 채택하고 있다

이 프로토콜은 시스템이 앱을 실행하기 위해 호출하는 main() 메서드의 기본 구현을 제공합니다. 모든 앱 파일 중 정확히 하나의 진입점을 가질 수 있습니다.

또 다른게 body를 보면 Scene 프로토콜이 있다.  씬은 뷰계층구조의 루트뷰를 포함하고 있고 시스템에 의해 관리되는 라이프사이클을 가지고 잇다. setting과 같은 구체화된 Scene type을 줄 수 도 있다. (Settiongs는 ios에서는 안된단다. 

WindowGroup은 뭘까?

- Window라는 개념은 뷰들의 컨테이너 역할을 하면서 동시에 터치 이벤트와 같은 이벤트를 가장먼저 수신하여 서브뷰들에게 이벤트 전달하는 responder chain기능(유저 인터페이스를 관리하는 Scene)

- 맥OS, iPadOS보면 여러개의 윈도우를 띄울 수 있는 형태일때 WindowGroup을 여러개 정의하여 사용

App은 우리가 앱아이콘을 누르면 켜지는 그 자체의 앱

Scene은 App bodf프로퍼티안에 들어갈 수 있는 View보다는 더 큰 개념. View hierarchy의 root view를 담고 있다.  

'SWIFT개발' 카테고리의 다른 글

CoreLocation & MapKit  (2) 2024.04.19
Coremotion2편- 걷기데이터 & HealthKit  (2) 2024.04.17
some(Opaque Type)&any Keyword  (3) 2024.02.29
근본으로 돌아가자(4)-@State,@StateObject,@ObservedObject  (4) 2024.02.27
@ViewBuilder & @resultBuilder  (1) 2024.02.26
'SWIFT개발' 카테고리의 다른 글
  • CoreLocation & MapKit
  • Coremotion2편- 걷기데이터 & HealthKit
  • some(Opaque Type)&any Keyword
  • 근본으로 돌아가자(4)-@State,@StateObject,@ObservedObject
2료일
2료일
좌충우돌 모든것을 다 정리하려고 노력하는 J가 되려고 하는 세미개발자의 블로그입니다. 편하게 보고 가세요
  • 2료일
    GPT에게서 살아남기
    2료일
  • 전체
    오늘
    어제
    • 분류 전체보기 (120)
      • SWIFT개발 (29)
      • 알고리즘 (25)
      • Design (6)
      • ARkit (1)
      • 면접준비 (30)
      • UIkit (2)
      • Vapor-Server with swift (3)
      • 디자인패턴 (5)
      • 반응형프로그래밍 (12)
      • CS (3)
      • 도서관 (1)
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
2료일
go back to basic - @main 플젝만들면 항상생기는 파일 이건 몰까?
상단으로

티스토리툴바