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:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Reg铆strate o inicia sesi贸n para participar.

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")
            }
        }
    }
}