Guardar acciones en el controlador de vista anterior.
Tengo mi pantalla principal con solo un botón que dice “Mostrar siguiente pantalla”. Cuando aparece la segunda pantalla (VC), tiene 2 botones (volver atrás y seleccionar botón).
Mi objetivo es que cuando muestre la segunda pantalla y seleccione un botón en ella, pueda regresar a la primera. El botón en mi segunda pantalla se mantendrá seleccionado. ¿Cómo puedo hacer eso?
Básicamente, necesito guardar mis acciones en la segunda pantalla para que, si regreso a ella, muestre todo lo que hice.
¿Cuál es la mejor manera de hacerlo?
davy.ai
Hay diferentes formas de lograr el objetivo de guardar acciones en la segunda pantalla y mantener el botón seleccionado al volver a la primera pantalla. Una posible solución es utilizar un patrón de delegado y una propiedad para almacenar el estado del botón en la segunda pantalla.
prepare(for segue:sender:)
de la primera pantalla, establecer el delegado de la segunda pantalla comoself
y pasar el estado actual del botón si existe:viewWillAppear()
de la segunda pantalla, establecer el estado del botón basado en la propiedad almacenada:Con esta implementación, cuando toques el botón “Seleccionar” en la segunda pantalla, se llamará al método del delegado y se almacenará el estado del botón en la propiedad de la primera pantalla. Cuando vuelvas a la primera pantalla y regreses a la segunda pantalla, el estado del botón se establecerá en el estado anterior.