ALC ( App Life Cycle )


앱 생명주기는 앱의 시작과 끝 사이에 실행되는 여러가지 상태를 정의한것이다.

다양한 앱의 상황에서 대응해야 하기 때문에 반드시 이해하고 넘어가야 될 부분이다.



앱의 상태 구분




1. Not Running    -> 실행 하고 있지 않은 상태

2. Inactive             -> 실행 중인 상태지만 이벤트가 없는 상태

3. Active                -> 실행 중이고 이벤트가 생긴상태 

4. Background    -> 백그라운드 상태에서 이벤트가 있는 상태

5. Suspended      -> 백그라운드 상태에서 이벤트가 없는 상태


2번과 3번을 묶어 보통 Foreground 라고 칭한다.



앱의 상태에 대응되는 함수


각 5가지의 상태는 

AppDelegate 에서 대응되는 함수가 정의되어 있어 상태에 따라 동작하는 코드를 작성하여 상태에 따른 동작을 수행할 수 있다.


func application (_: didFinishLaunchingWithOptions) {}

앱이 처음 시작될때 실행되는 함수


func applicationWillResignActive (_: application) {}

앱이 Active 상태에서 Inactive 상태로 진입 할때 실행되는 함수


func applicationDidEnterBackground (_: application) {}

앱이 Background 상태로 진입 할때 실행되는 함수


func applicationWillEnterForeground (_: application) {}

앱이 Background 상태에서 Foreground 상태로 진입 할때 실행되는 함수


func applicationDidBecomeActive (_: application) {}

앱이 Active 상태로 진입 할때 실행되는 함수


func applicationWillTerminate (_: application) {}

앱이 종료 될때 실행되는 함수


필수로 전부 구현해야되는 함수는 아니지만 상황에 따른 적절한 구현으로 깔끔하고 자연스러운 동작의 앱을 만들수 있다.

'Swift' 카테고리의 다른 글

[Swift] typealias  (0) 2018.05.28
[Swift] VLC ( View Life Cycle )  (0) 2017.11.09
[Swift] Thread  (0) 2017.11.07
[Swift] GCD (Grand Central Dispatch)  (1) 2017.11.07
[Swift] Email, Password Validation extension (이메일, 비밀번호 검증)  (0) 2017.05.25

+ Recent posts