No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

El ciclo de una vida de una vista: onAppear() y onDisappear()

10/11
Recursos

Aportes 2

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Tuve un gran problem con el onAppear en el proyecto que estoy trabajando… el onAppear se ejecuta aun cuando la vista no esta visible… esta reportado como Bug pero a esta fecha no hay respuesta de apple.

Si alguien tiene el mismo problema , lo puedeo resolver con una hack que mire en este link

https://developer.apple.com/forums/thread/655338

Yo use el codigo donde crea la extension: onUIKitAppear el usuario gfdgdfg.

Un gran bug que trae muchos problemas

Por si alguien quiere probar el onChange sobre una vista, dejo código

import SwiftUI

@main
struct GameStreamApp: App {
    @Environment(\.scenePhase) var scenePhase
    @State private var estado = "hola"
    
    var body: some Scene {
        WindowGroup {
            ContentView()
                .onAppear(perform: {print("onAppear")})
                .onChange(of: estado){ nuevoValor in
                    print("Dentro del onChange de la vista, Estado cambio a \(estado)!")
                } ////https://www.hackingwithswift.com/quick-start/swiftui/how-to-run-some-code-when-state-changes-using-onchange
                .onDisappear(perform: {print("onDisappear")})
        }.onChange(of: scenePhase) { phase in
            print(phase)
            switch phase {
            case .active:
                estado="active"
                print("La app esta activa, recuperare los datos")
            case .inactive:
                estado="inactive"
                print("La app esta inactiva, guardare los datos para despues continuar fluidamente")
            case .background:
                estado="background"
                print("La app esta background, guardare los datos para cuando se reinice la app continuar")
            default:
                print("Ningun caso")
            }
        }
    }
}