LoginSignup
9
10

More than 3 years have passed since last update.

AppDelegateとUIViewControllerのメソッドの呼出順序

Posted at

はじめに

iOSでAppDelegateのメソッドの呼ばれる順番とUIViewControllerのメソッドの呼ばれる順番の関係がわからなかったので、実装して試しました。iOSのバージョンによって変わる可能性もあるので、実装のサンプルは、githubにおいてあります。

実装した環境

  • Xcode 10.2.1
  • SWIFT 5
  • ios 12

アプリライフサイクルとUIViewController

アプリの起動時

アプリの起動時は、didFinishLaunchingWithOptionsapplicationDidBecomeActiveの間に、UIViewControllerのviewDidLoadなどが呼ばれます。

  • application(_:willFinishLaunchingWithOptions)
  • application(_:didFinishLaunchingWithOptions:)
  • viewDidLoad()
  • viewWillAppear(_:)
  • viewDidAppear(_:)
  • applicationDidBecomeActive(UIApplication)

アプリの終了時、バックグランド時

アプリの終了時やバックグランド時には、viewWillDisappearが呼ばれると思っていたのですが、アプリ起動時以外は、UIViewControllerのメソッドが呼ばれていませんでした。

アプリライフサイクルとUIViewControllerの呼ばれる順番

20190620-ios-lifecycle-viewcontroller.png

参考文献

Appleリファレンス UIViewController

9
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
10