iOS View Life-Cycle
3658 ワード
![](https://s1.md5.ltd/image/9bea9adb0443422964e2e867a9d07f93.png)
文章を勉強して書く!正確ではないかもしれません.
入る前に。
毎日アプリケーションを作成するときに表示される基本コードがあります.
override func viewDidLoad() {
super.viewDidLoad()
}
これはどんな機能のコードですか?今日は、アプリケーションの開発時にビューの表示時間を管理できるView Life-Cycleについて説明します.
View Life-Cycle
ビューには、次の写真に示すライフサイクルがあります.
![](https://s1.md5.ltd/image/c04d29c6ff33d71c5a55816045c70559.jpeg)
まず、私たちがよく見ている
viewDidLoad
から理解してみましょう.viewDidLoad()
![](https://s1.md5.ltd/image/3adb65ef3aae40a6686667ccf774731c.png)
アップルの公式ドキュメントの説明によると、「ビューのコントローラがメモリにロードされた後に呼び出されます.」と説明します.
ビュー(画面)を表示するには、まずメモリに入れてからアクセスします.
したがって、メモリにアップロードされると、
viewDidLoad()
を介してビューをロードすることができる.viewDidLoad()
はビューの作成時にのみ実行されるため、ビューを初期化する必要があるコードがあればviewDidLoad()
内で記述することができる.viewWillAppear()
![](https://s1.md5.ltd/image/3f9be498b0d850a59ab24255cbb70c6c.png)
アップルの公式ドキュメントによると、「ビューコントローラにビュー階層を追加するよう通知します.」と説明します.
すなわち、このメソッドは、ビューが表示される前に呼び出されます.
しかし考えてみると
viewDidLoad()
度ビューを生成する前に呼び出されるのではないでしょうか.その違いは何ですか.彼らのために比較した.
![](https://s1.md5.ltd/image/58abcf449671fdcaf6ef44e8d896cf27.png)
まず最初にアプリを開いたときにviewが出てきます.
最初は
viewDidLoad()
と呼び、表示の準備をし、viewWillAppear()
と呼ぶ.次の画面を見てみましょう
![](https://s1.md5.ltd/image/4397e7f0bd2b9ddacdb5bea4ce5bdaca.png)
2番目のビューも
viewDidLoad()
によってメモリ内のビューを構成し、ビューは表示の準備ができ、viewWillAppear()
を呼び出す.そして最初の画面に移動するとどうなりますか?
![](https://s1.md5.ltd/image/3524b5b574256ae4d67a79406666c6bf.png)
viewDidLoad()
は呼び出されず、表示ビューを準備するviewWillAppear()
が実行される.このように、
viewDidLoad()
はビュー初期化時に使用され、viewWillAppear()
は他のビューに戻る際に呼び出されるコードである.viewDidAppear()
![](https://s1.md5.ltd/image/c9f6f29798b11acb7f7fc72cdc1ecccc.png)
アップルの公式ドキュメントには、「ビューコントローラにビューが追加されました」と表示されます.と説明します.
viewDidAppear()
は、ビューが表示されていることをコントローラに伝えます.viewWillDisappear()
![](https://s1.md5.ltd/image/3a6166cf789aee509dfcfa975aa84e51.png)
アップルの公式ドキュメントによると、「ビューコントローラのビューが削除されます.」と説明します.
viewWillDisappear()
は、ビューが削除される前に呼び出される.viewDidDisappear()
![](https://s1.md5.ltd/image/4d33f6737a52b07b42a4a088ddf2b096.png)
アップルの公式ドキュメントによると、「ビューコントローラのビューが削除されました.」と説明します.
viewDidDisappear()
は、ビューが削除されたときに呼び出される.loadView()
この方法はviewDidLoad()より先に紹介されていますが、先に紹介されていません.
理由はアップルの公式文書で説明文を探しているからだ.
"You should never call this method directly. "
(このメソッドを直接呼び出すことは絶対にできません.)
"If you want to perform any additional initialization of your views, do so in the viewDidLoad() method."
(
viewDidLoad()
メソッドを使用してビューを初期化します.)に表示されます.
loadView()
の役割は、コントローラ管理のビューを作成することです.すなわち、
loadView()
はビューを作成し、メモリにアップロードした後、viewDidLoad()
を呼び出す.整理する
今日iOSアプリビューのライフサイクルを知りました.
ビューのライフサイクルごとに、適切な場所に正しいコードを加えることで、さまざまな機能を実現できると思います.
Reference
この問題について(iOS View Life-Cycle), 我々は、より多くの情報をここで見つけました https://velog.io/@kirri1124/iOS-View-Life-Cycleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol