はじめに
iOSでAppDelegateのメソッドの呼ばれる順番とUIViewControllerのメソッドの呼ばれる順番の関係がわからなかったので、実装して試しました。iOSのバージョンによって変わる可能性もあるので、実装のサンプルは、githubにおいてあります。
実装した環境
- Xcode 10.2.1
- SWIFT 5
- ios 12
アプリライフサイクルとUIViewController
アプリの起動時
アプリの起動時は、didFinishLaunchingWithOptions
とapplicationDidBecomeActive
の間に、UIViewControllerのviewDidLoad
などが呼ばれます。
- application(_:willFinishLaunchingWithOptions)
- application(_:didFinishLaunchingWithOptions:)
- viewDidLoad()
- viewWillAppear(_:)
- viewDidAppear(_:)
- applicationDidBecomeActive(UIApplication)
アプリの終了時、バックグランド時
アプリの終了時やバックグランド時には、viewWillDisappear
が呼ばれると思っていたのですが、アプリ起動時以外は、UIViewControllerのメソッドが呼ばれていませんでした。
アプリライフサイクルとUIViewControllerの呼ばれる順番
