Cuando se accede a la propiedad view de un UIViewController, primero verifica si tiene una vista existente y la devuelve. Si no, carga su punta o llamadas -loadView.¿La mejor manera de determinar si un UIViewController se ha cargado y tiene una vista válida?
Cuando un controlador recibe un mensaje -didReceiveMemoryWarning, el comportamiento predeterminado es eliminar esa vista en caché (suponiendo que no esté en uso en ese momento).
Si reemplazo -didReceiveMemoryWarning, ¿cómo puedo determinar si la vista se ha borrado? Según entiendo, la implementación predeterminada verifica si self.view.superview == nil. Si es así, borra la vista en caché. Por supuesto, primero verifica si hay es una vista en caché, y si no, no hace nada. Sin embargo, yo, como una subclase, no puedo llamar a self.view.superview, porque si hay no es una vista, generará una.
Entonces, ¿cómo averiguo si _view existe? (No puedo simplemente mirar _view; tengo errores de enlace cuando construyo para el dispositivo).
Esto parece algo frágil (se basa en que Apple siempre usa sus propios accesorios), pero parece que funciona. ¡Gracias! –
Acepto que es un poco frágil, pero no hay nada más documentado, y es ciertamente menos frágil que acceder a ivars directamente –
['- [UIViewController isViewLoaded]'] (http://stackoverflow.com/a/1076425/242933). – ma11hew28