5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

iosアプリ ViewControllerのライフサイクル

Posted at

※初心者の自分用メモです。間違っていましたら、指摘していただけると嬉しいです。##

ライフサイクル##

init(coder:)
一度だけ呼ばれる。この時点ではviewControllerはインスタンス化されていない。バグの原因となるのであまりいじらない方が無難。
init(nibName:bundle):
nib fileからViewControllerを生成する際に使用。
loadView
インターフェイスをコードで生成する際にオーバーライド。
viewDidLoad
viewが生成された際にだけ一度だけ呼ばれる。呼び出された際には、全ての要素が配置についている。ユーザーが目にする前にデータを格納する。バックグラウンド処理の開始。通信など一度だけする際に。viewのboundsは定まっていない。
viewWillAppear
viewControllerが画面に出るたびに呼ばれる。viewControllerが表示されてなかった間の値の変化などを画面上に反映させるなど。アニメーションの開始。viewのboundsが定義されるが、orientationは適用されない。
viewWillLayoutSubViews
subViewが配置される際に呼ばれる。回転などレイアウトが変わる際に呼ばれる。AutoResizingなどを使わない場合、ここでsubViewを更新する。
viewDidLayoutSubViews
suvViewが配置された際に呼ばれる。
viewDidAppear
データの取得開始。
didReicieveMemoryWarning
メモリが逼迫した際に呼び出される。
viewWillDisappear
画面の遷移が始まり、元のviewControllerが画面から除かれる直前に呼ばれる。用途不明。
viewDidDisappear
元のviewControllerが画面から除かれた際に呼ばれる。通知の停止など。
deinit
viewがメモリーから削除される際に呼ばれる。ARCで解放されなかったviewControllerを手動で取り除く際に使用。

また追記していきます。

5
4
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
5
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?