はじめに
この記事では、ViewControllerのライフサイクルについて簡単にまとめました。
⚠️当方初学のため認識違いがある可能性大です
誤りを見つけた際はコメントにて指摘していただけると幸いです🙇♀️🙇♂️
ライフサイクルの発火の流れ
①loadView(View読み込み前)
②viewDidLoad(View読み込み後)
③viewWillAppear(View表示前)
④viewWillLayoutSubviews(SubViewレイアウト前)
⑤viewDidLayoutSubviews(SubViewレイアウト後)
⑥viewDidAppear(View表示後)
⑦viewWillDisappear(View除去前)
⑧viewDidDisappear(View除去後)
目次
- loadView
- viewDidLoad
- viewWillAppear
- viewWillLayoutSubviews
- viewDidLayoutSubviews
- viewDidAppear
- viewWillDisappear
- viewDidDisappear
1. loadView
- タイミング・・・viewがnilの状態でviewを呼び出そうとした時
- 活用例 ・・・Viewの追加や制約の追加など、StoryBoardで行う操作のコードでの実装
2. viewDidLoad
- タイミング・・・viewをメモリにロードした後
- 活用例 ・・・クラス内で利用するオブジェクトの初期化
3. viewWillAppear
- タイミング・・・viewをview階層に追加する直前、もしくはviewを表示するためにアニメーションが設定される前
- 活用例 ・・・表示されるたびにviewを更新したい処理
4. viewWillLayoutSubviews
- タイミング・・・viewがSubviewをレイアウトする前
- 活用例 ・・・特になし
5. viewDidLayoutSubviews
- タイミング・・・viewがSubviewをレイアウトした後
- 活用例 ・・・特になし
6. viewDidAppear
- タイミング・・・viewがview階層に追加された後
- 活用例 ・・・ログの送信、操作のブロック
7. viewWillDisappear
- タイミング・・・viewがview階層から削除される前
- 活用例 ・・・特になし
8. viewDidDisappear
- タイミング・・・viewがview階層から削除された後
- 活用例 ・・・特になし