Lors de la substitution initWithCoder est-il toujours nécessaire d'appeler [super initWithCoder: codeur]
-
19-09-2019 - |
Question
Dans ce code, je suis le chargement d'un contrôleur de vue (et Vue associé) d'un .xib:
-(id)initWithCoder:(NSCoder *)coder
{
// add custom initialisation code here
[super initWithCoder:coder];
return self;
}
Cela fonctionne avec succès, mais je ne comprends pas vraiment ce que la ligne [super initWithCoder: codeur] accomplit. Est-ce que mon initialisation View Controller après mon point de vue a été initialisé?
S'il vous plaît être aussi explicite que possible pour expliquer. Merci.
La solution
Votre classe est une sous-classe de UIViewController
. L'appel est dit votre super classe (de UIViewController
) pour faire les étapes dont il a besoin pour accomplir afin que vous puissiez faire vos étapes d'initialisation. Ce serait la mise en place des propriétés que l'UIViewController
fournit ou l'enregistrement des notifications que le UIViewController
a besoin pour faire son travail.
Il est suggéré presque chaque fois que vous remplacer une méthode de la super classe pour appeler la méthode de la super-classe en plus des étapes que vous devez prendre.
Edit: Aussi, si vous n'avez pas besoin de faire quoi que ce soit dans une méthode la superclasse offre, il vous suffit de le laisser sortir et la méthode de la super-classe sera utilisé à la place. Dans ce cas, je ne fourniraient pas la méthode initWithCoder:
à moins qu'il y avait un code que vous devez préforme en plus de ce que vous montriez.