swift-ビューライフサイクル

2759 ワード

ViewControllerはiOSアプリケーションで重要な役割を果たし、すべてのアプリケーションにスケルトンを提供しています.
アプリケーションは複数のビューコントローラで構成されているためです.
そのため、View Controlのライフサイクルを理解することは、アプリケーションの開発にとって非常に重要です.
各ビューコントローラは、独自のビュー階層を管理します.
各ビューコントローラにはrootViewがあります.
ビュー階層を分割する場合、最も元になるのはrootViewです.
画面に表示されるすべてのビューはrootViewの階層にある必要があります.
UIViewControllerオブジェクトは、UIViewオブジェクトの作成および破棄、イベントの発生および動作を管理する場所です.
したがって、ビューが表示される前、表示される後、表示される前、および表示されない前に、[UI ViewControlを呼び出すために必要なメソッドを逐次再定義する]
//
//  ViewController.swift
//  practice
//
//  Created by SW_mac04 on 2021/08/24.
//

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        // 뷰가 로드 되었다.
    }
    
    override func viewWillAppear(_ animated: Bool) {
        <#code#>
        // 뷰가 나타날 것이다.
    }
    
    override func viewDidAppear(_ animated: Bool) {
        <#code#>
        // 뷰가 나타났다.
    }

    override func viewWillDisappear(_ animated: Bool) {
        <#code#>
        // 뷰가 사라질 것이다.
    }
    
    override func viewDidDisappear(_ animated: Bool) {
        <#code#>
        // 뷰가 사라졌다.
    }

    
}

ViewDidLoad


"Called after the controller's view is loaded into memory"
:ビュー内のコントローラがメモリにロードされた後に呼び出されます.
つまり、「ビュー」と呼ばれるものを作成し、メモリに保存してからアクセスできます.
機能の説明
  • ビューのロードが完了すると、システムによって自動的に呼び出されます.
    通常、リソースの初期化や初期画面の構成に使用されます.
    画面の最初の作成時に1回のみ実行されます.
    最初の初期化コードのみを実行する必要がある場合は、このメソッドの内部で記述します.
  • viewWillAppear


    ビューをロードすると、ビューが表示され、目に表示されます.
    コントローラにビューに表示される信号を通知する役割を果たします.
  • 、すなわち、ビューが表示される前に呼び出される.
  • ViewDidLoadとViewWillAppearの違い
    1つのアプリケーションに複数のビューがあります.
    ビューのライフサイクルは、各ビューに適用されます.
    各ビューを最初に実行するときにのみviewDidLoadが呼び出されます.
    viewWillAppearは、別のビューに戻るときにも呼び出されます.

    viewDidAppear


    コントローラビューの表示を通知する役割を果たします.
    また、画面に適したアニメーションを描くこともできます.
  • ビューが画面に表示された後に実行されます.
    実行ポイント以外はviewWillAppearとほぼ同じです.
  • viewWillDisappear

  • ビューが消える前に呼び出されます.
    ビューコントローラビューが削除されていることを通知する役割を果たします.
  • viewDidDisappear


    ビューコントローラビューが削除されたことを通知する役割を果たします.