SwiftUI - AppDelegate, SceneDelegate

김세영·2022년 3월 21일
0

SwiftUI 정리

목록 보기
2/11
post-thumbnail

UIKit + SwiftUI

애플은 지금까지 UIKit으로 개발되어온 앱들을 위해 SwiftUI와 UIKit이 동일한 프로젝트 내에 통합되도록 하는 방법을 제공

AppDelegate.swift

UIWindow
사용자에게 보이지 않지만 UI를 구성하는 시각적 객체를 담기 위한 컨테이너를 제공

모든 iOS 앱은 이벤트 처리 및 UI 표시를 위해,
앱에 의해 사용될 서로 다른 UIWindow 객체를 관리하는 UIApplication 클래스의 인스턴스 하나를 갖는다.

해당 인스턴스는 앱의 생명 주기와 관련된 중요한 이벤트들을 델리게이트 패턴을 통해 연결시킨다.
대표적으로 application(_:didFinishLaunchingWithOptions:) 등이 있다.

SceneDelegate.swift

앱의 UI는 UIWindowUIWindowScene 객체의 형태인 scene으로 표시
(스토리보드의 scene이 아니다.)

여러 화면 모두 동일한 UIApplication 객체를 공유
다중 윈도우 구성에서 각 UIWindowScene 인스턴스는 자신만의 델리게이트 인스턴스를 가짐

SceneDelegate 클래스는 현재 세션과 연결되는 새로운 화면, 백그라운드와 포그라운드 전환 등의
이벤트를 처리하는 메서드 포함

UIKit 내부에 SwiftUI 뷰를 포함시키려면 UIHostingController 인스턴스 내부에 SwiftUI 뷰를 포함
(추후 자세히 설명)

profile
초보 iOS 개발자입니다ㅏ

0개의 댓글