Formation PUB900 : Développer une application pour iPhone avec SwiftUI, H-2024 Constructeur et onAppear()

25.2 .onAppear()


Puisque la vue est une structure, il est possible d'effectuer une partie du travail d'initalisation en définissant un constructeur.

Le travail du constructeur survient très tôt dans le cycle de vie d'une application SwiftUI. Pour cette raison, certaines opérations d'initialisation ne peuvent pas être réalisées dans le constructeur.

onAppear()

La méthode onAppear() est un endroit intéressant pour effectuer le travail d'initialisation puisque le code qu'elle contient sera exécuté beaucoup plus tard dans le cycle de vie, juste avant que la vue soit affichée.

SwiftUI

var body: some View {
  ...   // vue à laquelle onAppear est rattaché
  .onAppear(perform: {
    maFonction()
  })
}

func maFonction() {
  maVariableDEtat = "une valeur"
  ...

Dans le cas où la fonction à exécuter ne reçoit aucun paramètre, il est possible de simplifier la syntaxe en enlevant les accolades dans .onAppear de même que les parenthèses à la fonction.

SwiftUI

var body: some View {
  ...   // vue à laquelle onAppear est rattaché
  .onAppear(
    perform: maFonction
  )
}

func maFonction() {
  maVariableDEtat = "une valeur"
  ...
 

Pour plus d'information

« SwiftUI View Lifecycle ». vadimbulavin.com. https://www.vadimbulavin.com/swiftui-view-lifecycle/

« Running Code Only Once in SwiftUI ». https://www.swiftjectivec.com/. https://www.swiftjectivec.com/swiftui-run-code-only-once-versus-onappear-or-task/

▼Publicité

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Merci de partager !
Soumettre