La forma recomendada de hacer esto sería utilizar un delegado de su controlador de vista modal de nuevo al controlador de vista que abrió la vista. Consulte los documentos oficiales para ver ejemplos.
La razón por la que esta es la manera recomendada es para que el ViewController que originalmente inició el modal también tenga el control de descartarlo.
¡Es realmente simple de hacer y pensar más elegante que usar viewWillDisappear, ya que hay otras razones por las que la vista podría desaparecer!
crear un protocolo en su modal ViewController - xViewControllerDelegate
@protocol xViewControllerDelegate
- (void) modalDialogFinished;
@end
luego hacer su padre implementar el delegado utilizando el <xViewControllerDelegate>
cuando se define el controlador de vista padre.
que se verá obligado a tener un método llamado modalDialogFinished en su controlador de vista de los padres - que puede manejar desestimar el mando y el refresco etc.
Recuerde que pasar un id<xViewControllerDelegate>
en el controlador de vista modal en su código de inicio y almacenar como un campo en el objeto.
Cuando desee desestimar su vista modal, solo tiene que hacer referencia al delegate.modalDialogFinished.
Si esto no tiene sentido, entonces puedo indicarle un mejor código de ejemplo, pero espero que el uso de delegados no sea nuevo para usted.
ACTUALIZACIÓN ::
Aquí es la documentación oficial de Apple sobre cómo hacer esto por un controlador de vista modal:
http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/ModalViewControllers/ModalViewControllers.html
Muchas gracias por la rápida respuesta Jasarien, que dará una oportunidad un poco más tarde. – Jack
¿Por qué obtuve un voto negativo para esta respuesta? – Jasarien
No de mi usted no lo hizo – Jack