AppDelegate.swift 알아보기

 기본 개념

(1). AppDelegate 클래스를 정의합니다.

참고로 app delegate는 AppDelegate 클래스의 인스턴스입니다.

app delegate는 앱의 객체로서, 앱의 상태에 따라 응답하는 콘텐츠가 그려지는 window를 생성합니다.

즉, AppDelegate.swift가 AppDelegate 클래스를 만들고 AppDelegate 클래스가 인스턴스를 생성합니다.

생성된 인스턴스인 app delegate는 앱 내용이 그려질 window를 생성합니다.

(2). entry point와, 앱의 입력 이벤트를 전달하는 run loop를 생성합니다.

이 작업은 @main 속성에 의해 수행됩니다.

앞선 UIApplication에서 설명한 바와 같이, @main은 UIApplicationMain 메서드를 호출합니다.

즉, AppDelegate 클래스의 이름을 delegate 클래스에 전달합니다.

이에 대한 응답으로 시스템은 application 객체를 생성합니다.

application 객체는 app의 Life Cycle을 관리 담당합니다.

이어서 시스템은 AppDelegate 클래스의 인스턴스를 생성하고 이를 application 객체에 할당합니다.

마지막으로 시스템은 앱을 실행합니다.

조금 더 알아보기

AppDelegate 클래스는 UIApplicationDelegate 프로토콜을 채택합니다.

이 프로토콜은 앱을 세팅하고, 앱의 상태변화에 응답합니다.

또한, 다른 app-level 이벤트를 처리하기 위한 여러가지 방법을 정의합니다.

댓글

이 블로그의 인기 게시물

UIResponder 알아보기

UIApplication 알아보기