티스토리 뷰
728x90
SceneDelegate란?
iOS13 이후 UI생명주기에 관한 이벤트를 처리하기 위해 사용하는 객체 입니다.
화면에 무엇을 보여줄지 관리하는 역할을 하며, iOS 13부터 window의 개념이 scene으로 대체 되었습니다.
why?
아이패드와 같이 큰 화면의 하나의 앱에서 2개 이상의 화면을 보여주기 위해 Scene 개념이 도입 되었습니다.
SceneDelegate Methods
메소드 (펼쳐보기)
더보기
scene(_: willConnectTo: option:)
- application(_: didFinishLaunchingWithOptions:) 메소드와 유사합니다.
- UISceneSession LifeCycle 에서 가장 처음 불리는 메소드로 첫 content view, 새로운 UIWindow를 생성하고 window의 rootViewController를 설정합니다. 여기서의 window = app이 작동하는 viewport
- 첫 view를 만들때, 과거에 disconnected된 UI를 되돌릴때도 사용합니다.
sceneDidDisconnect(_:)
- scene의 연결이 해제될 때 호출 됩니다. (다시 연결 될 수 있습니다.)
- 필요없는 자원을 돌려주는 역할
- 디스크, 네트워크를 통해 쉽게 불러올 수 있거나 생성이 쉬운 데이터를 돌려줍니다.
- 사용자의 input 같은 재생성 어려운 데이터는 갖고 있게 작업해줘야 합니다.
sceneDidBecomeActive(_:)
- inactive → active
- app switcher에서 해당 앱이 선택될때, (*app switcher: 홈 버튼을 두번 누르거나, 화면 하단 바 (홈 인디케이터)를 위로 올렸을 때 보이는 화면)
- scene이 setup되고 화면에 보여지면서 사용할 준비가 된 상태.
- inactive가 되면서 멈춘 task를 재실행 할 때도 사용.
sceneWillResignActive(_ scene:UIScene)
- active → inActive
- 다른화면으로 전환
- ex) 앱 사용중 전화가 올때, 상단을 쓸어내려 알림 모달을 띄울때, 하단을 쓸어올려 (와이파이, 밝기조절, 블루투스 등 보이는 화면.
sceneWillEnterForeground(_ scene: UIScene)
- background → foreground
- Foreground로 진입할 때 호출 (2가지 경우)
- 앱이 실행되고 active 상태가 될 때
sceneDidEnterBackground(_:)
- foreground → background
- 데이터를 저장, state 정보 저장, 공유된 리소스 돌려주는 작업
iOS 13 이후 AppDelegate → SceneDelegate 메소드 변화
728x90
'iOS' 카테고리의 다른 글
[Swift] 소멸자 (Deinitialization) (0) | 2022.05.15 |
---|---|
[Swift] 고차함수 - reduce (0) | 2022.05.13 |
[Swift] enumerated() 메소드 (0) | 2022.05.08 |
[iOS] MVC, MVP, MVVM 비교 (0) | 2022.05.06 |
[iOS] TableView (programmatically) (3) | 2022.05.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- Swift inout
- swift reduce
- Swift 프로퍼티
- Swift joined
- Swift init
- swift protocol
- removeLast()
- Swift final
- ios
- Swift 알고리즘
- swift programmers
- 2023년 회고
- Swift 프로그래머스
- iOS error
- Swift RIBs
- Swift joined()
- CS 네트워크
- swift 고차함수
- Swift
- Swift 내림차순
- Swift Error Handling
- RIBs tutorial
- swift property
- Combine: Asynchronous Programming with Swift
- Swift Leetcode
- swift (programmers)
- RTCCameraVideoCapturer
- 원티드 프리온보딩
- Swift ModernRIBs
- Class
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함