iOS 5.0 ver el problema del ciclo de vida

Me enfrento a un comportamiento extraño de mis subclasss de controller de vista personalizado en iOS 5.0. No uso controlleres de navigation estándar, etc. en mi aplicación iPad, pero estoy presentando todos los controlleres de vista yo mismo; por eso necesitaba llamar manualmente a los methods de viewWillAppear y viewDidAppear.

Desde iOS 5.0, parece que al agregar la vista del controller de vista como una subvista, estos methods se invocan automáticamente en la instancia del controller de vista de la vista. Lo que significa que estos methods se llaman dos veces en mi caso.

¿Alguna sugerencia? ¿Aparte de crear mis propios methods de ciclo de vida y reescribir la aplicación completa?

¡Muchas gracias!

Agregue lo siguiente a su UIViewController para deshabilitar la llamada automática de esos methods -viewWill … y -viewDid …:

-(BOOL)automaticallyForwardAppearanceAndRotationMethodsToChildViewControllers { return NO; } 

Esto obligará a iOS 5.0 a dejar de llamar a esos methods cuando agregue subvenciones, y no romperá nada con iOS 4.x. Estoy usando este método siempre que continúe admitiendo dispositivos en iOS 4.x. Una vez que elimine el soporte para iOS 4, refactorizaré mi código para usar el nuevo enfoque de intercambio de controlleres de vista (como se describe en el video de la session 102 publicado por hypercrypt).

Echa un vistazo a la Sesión 102 – Implementación de Contención del Controlador UIView desde WWDC11.

En iOS 5, debe usar la contención del controller de vista adecuada.