https://developer.apple.com/documentation/uikit/uiscene
"An object that represents one instance of your app’s user interface."
앱 UI의 한 인스턴스를 나타내는 객체입니다.
@MainActor class UIScene : UIResponder
UIKit
은 사용자 혹은 앱이 요청하는 앱의 UI에 대한 인스턴스마다 씬 객체를 생성합니다. 보통 UIKit
은 UIScene
객체 대신 UIWindowScene
객체를 생성하지만, 씬에 대한 정보에 접근하기 위해 이 클래스의 메소드 및 속성을 사용할 수 있습니다.
모든 씬 객체는 UISceneDelegate
프로토콜을 채택하는 관련 딜리게이트 객체를 갖습니다. 신의 상태가 변경될 때, 씬 객체는 가지고 있는 딜리게이트 객체에 알리고, 등록된 옵저버 객체에 적합한 노티피케이션을 포스팅합니다. 씬의 상태 변경에 대해 응답하기 위해 딜리게이트 객체 및 노티피케이션을 사용하시기 바랍니다. 예를 들어 씬이 백그라운드로 이동하는 시점을 결정하기 위해 사용하시기 바랍니다.
씬 객체를 직접 생성하지 않아야 합니다. UIApplication
의 requestSceneSessionActivation(_:userActivity:options:errorHandler:)
메소드를 코드 작성을 통해 호출해서 UIKit
에게 씬 객체 생성을 요청할 수 있습니다. 또한, UIKit
은 사용자 사옿작용에 대한 응답에서 씬을 생성합니다. 앱의 씬 지원을 설정할 때, UIScene
객체 대신 UIWindowScene
객체를 구체화하시기 바랍니다.
앱에서 하나 혹은 하나 이상의 윈도우를 관리하는 씬입니다.
https://developer.apple.com/documentation/uikit/uiwindowscene
https://velog.io/@panther222128/UIWindowScene