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.