iOS View Life-Cycle

3658 ワード


文章を勉強して書く!正確ではないかもしれません.

入る前に。


毎日アプリケーションを作成するときに表示される基本コードがあります.
override func viewDidLoad() {
    super.viewDidLoad()       
}
これはどんな機能のコードですか?
今日は、アプリケーションの開発時にビューの表示時間を管理できるView Life-Cycleについて説明します.

View Life-Cycle


ビューには、次の写真に示すライフサイクルがあります.

まず、私たちがよく見ているviewDidLoadから理解してみましょう.

viewDidLoad()



アップルの公式ドキュメントの説明によると、「ビューのコントローラがメモリにロードされた後に呼び出されます.」と説明します.
ビュー(画面)を表示するには、まずメモリに入れてからアクセスします.
したがって、メモリにアップロードされると、viewDidLoad()を介してビューをロードすることができる.viewDidLoad()はビューの作成時にのみ実行されるため、ビューを初期化する必要があるコードがあればviewDidLoad()内で記述することができる.

viewWillAppear()



アップルの公式ドキュメントによると、「ビューコントローラにビュー階層を追加するよう通知します.」と説明します.
すなわち、このメソッドは、ビューが表示される前に呼び出されます.
しかし考えてみるとviewDidLoad()度ビューを生成する前に呼び出されるのではないでしょうか.
その違いは何ですか.彼らのために比較した.

まず最初にアプリを開いたときにviewが出てきます.
最初はviewDidLoad()と呼び、表示の準備をし、viewWillAppear()と呼ぶ.
次の画面を見てみましょう

2番目のビューもviewDidLoad()によってメモリ内のビューを構成し、ビューは表示の準備ができ、viewWillAppear()を呼び出す.
そして最初の画面に移動するとどうなりますか?
viewDidLoad()は呼び出されず、表示ビューを準備するviewWillAppear()が実行される.
このように、viewDidLoad()はビュー初期化時に使用され、viewWillAppear()は他のビューに戻る際に呼び出されるコードである.

viewDidAppear()



アップルの公式ドキュメントには、「ビューコントローラにビューが追加されました」と表示されます.と説明します.viewDidAppear()は、ビューが表示されていることをコントローラに伝えます.

viewWillDisappear()



アップルの公式ドキュメントによると、「ビューコントローラのビューが削除されます.」と説明します.viewWillDisappear()は、ビューが削除される前に呼び出される.

viewDidDisappear()



アップルの公式ドキュメントによると、「ビューコントローラのビューが削除されました.」と説明します.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アプリビューのライフサイクルを知りました.
ビューのライフサイクルごとに、適切な場所に正しいコードを加えることで、さまざまな機能を実現できると思います.