iOS5 Storyboard UIViewController ¿a qué método init llama el guión gráfico?


Respuestas:


127

El inicializador utilizado es initWithCoder:

- (id)initWithCoder:(NSCoder *)decoder

Luego, también recibirá un awakeFromNibmensaje.


3
¿Soy el único al que le resulta extraño que el init predeterminado (?) No se llame desde initWithCoder?
brianestey

2
No, no es el init designado, inits debería llamar a otro init con (generalmente) más parámetros, que luego llamaría a [super init]. En este caso, parece que initWithCoder es el init designado
MrJD

7
initWithCoder: es un inicializador designado de cualquier clase que implemente NSCoding.
Jon Hess

5

Creo que es awakeFromNib


awakeFromNib también se llama ya que UIViewControllersse están "enlatando" en su archivo .storyboard (el equivalente de las puntas "antiguas")
Besi

La diferencia (que puede ser importante) entre awakeFromNiblos init*métodos y es que devuelven una instancia, awakeFromNibno.
Mateo

0

Es el - (id)initWithCoder:(NSCoder *)decoder

Entonces, si tiene que hacer una inicialización personalizada, digamos que usa un controlador de buscapersonas personalizado que debe hacer allí como

    - (id)initWithCoder:(NSCoder *)decoder {

        self = [super initWithCoder:decoder];
        return [self initWithViewControllers:@[self.playerViewController, self.categoriesViewController]
                  andTitles:@[@"Player",@"Categories"]];
    }
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.