Lors de la substitution initWithCoder est-il toujours nécessaire d'appeler [super initWithCoder: codeur]

StackOverflow https://stackoverflow.com/questions/2435203

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.

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top