Si reemplaza a loadView, se espera que proporcione una vista raíz para la jerarquía de vista del controlador. Si no lo proporciona, se llamará a loadView cada vez que se haga referencia a la vista, lo que posiblemente conduzca a un ciclo infinito. De los documentos:
Si especifica las vistas manualmente, debe implementar el método loadView y usarlo para asignar un objeto de vista raíz a la propiedad de vista.
implementaciones que podrían causar un bucle infinito:
- (void)loadView {
NSLog(@"loadview");
}
... Yo.vista es nula después de loadView
- (void)loadView {
self.view; // Or anything that references self.view
}
... referencia self.view causa loadView que se invoca, por lo tanto, un bucle infinito.
correcta:
- (void)loadView {
self.view = [[UIView alloc] init];
if (self.view == nil) {
[super loadView]; // Try to load from NIB and fail properly, also avoiding inf. loop.
}
}
Esta es la respuesta correcta, no el marcado como aceptado – Pascal