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.

Firoze Lafeer
fuente
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

agilidad
fuente
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"]];
    }
Loretoparisi
fuente