잘 쓰여진 글 : velog.io/@dev-lena/iOS-AppDelegate%EC%99%80-SceneDelegate
음,, 그러니까 정리하자면 내 기준으로는 백그라운드로 갈때나 포어그라운드로 올라올때 등등
원래는 appDelegate에서 처리했었는데 scene가 담당함
로컬알림 이 부분의 코드가 씬 쪽으로 넘어갔다고 생각하자.
추후에 더 생각나면 수정하기
++ 추가 ++
SceneDelegate는 iOS 13부터 추가된 클래스로 UI 라이프 사이클을 관리하는 클래스
iOS12 까지는 하나의 앱이 하나의 윈도우만 가지기 때문에 AppDelegate가 UI의 라이프 사이클까지 관리를 겸했으나, iOS 13부터는 하나의 앱에 여러 개의 윈도우가 동시에 사용될 수 있게 됨에 따라 UI 라이프 사이클을 전담 관리해줄 클래스의 필요성 부각
이를 위해 추가된 클래스가 SceneDelegate
이 클래스는 AppDelegate가 담당하던 앱의 상태 변화, 즉 앱이 실행되고 백그라운드로 들어갔다가 다시 포그라운드로 나오는 등의 변화를 대신 감지하고 그에 맞는 메소드를 호출하는 역할을 합니다. 루트 뷰 컨트롤러에 대한 참조도 기존 AppDelegate 클래스에서 제공하던 것이, 이제는 SceneDelegate 클래스에서 제공하도록 변경됨.
반면 AppDelegate 클래스는 UI관리 역할에서 벗어나 프로세스 자체의 라이프사이클을 관리하는 역할에 집중하게 되었습니다. 이를 위해 앱의 데이터 구조 초기화나 푸시 알림 등의 서비스 초기화 앱 밖에서 발생한 알림에 대응하는 등의 일을 전담합니다.
'Archive > 꼼꼼한 재은씨 시리즈' 카테고리의 다른 글
💜 iOS 개발에 도움이 되는 사이트들 (0) | 2021.03.11 |
---|---|
tableView - Xcode 버그 및 skillUp (0) | 2021.03.11 |
IBOutlet 변수 여러개 연결 (0) | 2021.03.09 |
ARC(Auto Reference Counter) 시스템 - IBOutlet (0) | 2021.03.08 |
배열 변수를 AppDelegate 클래스에 저장하는 이유 (세 가지 이슈) (0) | 2021.03.08 |