Desarrollador iOS: pregunta de entrevista
¿Cómo razonas sobre el ciclo de vida de vistas SwiftUI?
Las vistas SwiftUI son descripciones de valor transitorias, no objetos de pantalla persistentes; conserva estado con el property wrapper adecuado, identidad estable y efectos en task o hooks de ciclo de vida.
Respuesta directa
Qué debe cubrir una buena respuesta
Cómo funciona
Una View de SwiftUI es un struct que describe lo que debe aparecer en pantalla; SwiftUI crea y descarta esos valores constantemente, así que el body debe ser barato y sin efectos secundarios. Lo que persiste es el estado ligado a la identidad de la vista en el árbol: @State y @StateObject viven mientras la vista sigue en la misma posición con la misma identidad, mientras @ObservedObject y @Binding refieren a estado propiedad de otro. La identidad viene de la estructura y de modificadores id explícitos, y cambiarla reinicia el estado. Los efectos secundarios van en .task, .onAppear y .onChange, y .task se cancela solo cuando la vista desaparece.
Ejemplo
Una fila de lista que crea su formateador con @State se recrea cuando su id cambia tras una ordenación, lo que también reinicia un campo de texto dentro; subir el estado de edición al padre indexado por id del elemento mantiene el texto estable. Una vista de detalle carga sus datos en .task(id: itemId) para que navegar a otro elemento cancele la carga anterior y empiece una nueva.
Errores frecuentes
- Hacer llamadas de red o cálculos pesados directamente en body.
- Usar @ObservedObject para un objeto que la propia vista crea, de modo que se recrea en cada actualización del padre.
- Confiar en que onAppear se dispara exactamente una vez, cosa que no ocurre.
Una estructura útil para responder
Responde desde tu propia experiencia.
No memorices un guion: usa solo ejemplos que puedas explicar con honestidad en preguntas posteriores.
Abre el espacio de trabajo de escritorio y ensaya una respuesta clara con tus propias palabras.