Si está utilizando un Storyboard, se llamará a initWithCoder:
. documento de referencia dice:
Si su aplicación utiliza un guión gráfico para definir un controlador de vista y su vistas asociadas, su aplicación no inicializa objetos de esa clase directamente. En su lugar, los controladores de vista son instanciados por el storyboard , ya sea automáticamente por iOS cuando se desencadena un segue o por mediante programación cuando su aplicación llama al método instanciaiateViewControllerWithIdentifier: del objeto del guión gráfico. Al instanciar un controlador de vista desde un guión gráfico, iOS inicializa el nuevo controlador de vista llamando a su método initWithCoder: en su lugar. iOS establece automáticamente la propiedad nibName en un archivo nib almacenado dentro de el guión gráfico.
initWithCoder:
El método no forma parte de la plantilla predeterminada de un archivo .m, así que hay que añadir a sí mismo en su UIViewController subclase:
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
// Custom initialization
NSLog(@"Was called...");
}
return self;
}
No hay necesidad de eliminar de su initWithNibName:bundle:
código, pero no se llamará de todos modos.
Gracias! Eso funciono. Aunque deja un poco de sabor agrio en mi boca para ver algunas inconsistencias en Obj-C en iPhone. Oh bien. – farhany