destruir una vista cuando se pulsa el botón de regreso
-
29-09-2019 - |
Pregunta
Mi controlador de navegación se organiza de esta manera:
FirstViewController -> SecondViewController -> ThirdViewController
en el primer lugar hago una búsqueda en la web y mostrar el resultado en un UITableView cuando selecciono una célula empujo a la Segunda donde hago otra búsqueda basado en clave previamente presionado y puedo mostrar algo de información y un botón de "más información" cuando se presiona el botón empujo a la tercera vista y esto funciona bien ...
El problema es cuando se presiona dos veces el botón de retroceso para hacer otra búsqueda: cuando llego a la tercera vista puedo mostrar cada vez que las informaciones sobre la primera búsqueda
Esto es porque hago la visualización de la información en loadView y esto se llama sólo la primera vez, ¿verdad?
¿Cómo debo hacer?
gracias!
Solución
De hecho viewDidShow
se llama después de la vista se ha cargado y ha creado a partir del archivo SEMILLA . Esto significa que sólo debe utilizar este método para hacer cosas inicialización.
Añadir un nuevo método y lo llaman cada vez que tiene nuevos resultados:
- (void) updateAndShowResults
{
// Code to update third view goes here
// and is always called whenever some new results are available
}
llamaría desde el primer o segundo controlador de vista de esta manera:
[thirdView updateAndShowResults];
Espero que ayude. Por favor marque la mejor respuesta haciendo clic en el "v" a la izquierda! Gracias.
Otros consejos
Se puede limpiar el del ThirdViewController en viewdidunload.