convention “

Je vois un exemple de code avec [super viewDidLoad] appelé avant votre implémentation et après votre implémentation.

Je sais que vous n’avez pas toujours besoin d’appeler super (comme dans beaucoup d’autres discussions). Lorsque vous l’appelez, est-il prévu avant ou après votre code?

Cela pourrait avoir des conséquences selon l’implémentation de Super. Bien que vous ne devriez pas avoir à connaître l’implémentation du super pour écrire le vôtre.

Bien sûr, cela vaut pour toutes les méthodes de délégation UIViewControllers (willAppear, didAppear, etc …)

Des pensées?

Ma règle générale est la suivante: si vous faites quelque chose en relation avec l’initialisation, appelez toujours la méthode de la super classe (si vous voulez l’appeler). Cela donne à la super-classe une chance de faire n’importe quelle configuration sur laquelle vous pouvez compter plus tard dans votre méthode. Si vous faites quelque chose lié à la destruction, appelez la méthode de la super classe en dernier. Cela garantit que vous pouvez compter sur l’état de l’object tout au long de l’exécution de votre méthode. Enfin, prenez tout autre cas au cas par cas. Par exemple, si vous gérez un événement, vous voudrez probablement traiter d’abord de l’événement et invoquer uniquement la méthode de la super classe si vous avez choisi de ne pas gérer l’événement ou si vous l’avez modifié et que vous souhaitez le transmettre tout au long de l’événement. chaîne.

Disons que vous avez 2 classes, un parent et un enfant. Enfant hérite de Parent. Ils ont une méthode appelée greet qui renvoie une chaîne.

Voici à quoi ressemble la méthode parente:

Code:

-(NSSsortingng *)greet { return @"Hello"; } 

Nous voulons que l’enfant apprenne de ses parents. Nous utilisons donc super pour saluer ce que maman saluerait, mais aussi avec nos petits ajouts.

Code: // Hérite de Parent

 -(NSSsortingng *)greet { NSSsortingng *parentGreeting = [super greet]; return [parentGreeting ssortingngByAppendingSsortingng:@", Mommy"] } 

Alors maintenant, le parent salue “bonjour” et l’enfant salue “bonjour maman”. Plus tard, si nous modifions le message d’accueil du parent pour retourner simplement “Hi”, les deux classes seront affectées et vous obtiendrez “Hi” et “Hi, Mommy”.

super est utilisé pour appeler une méthode telle que définie par une superclasse. Il est utilisé pour accéder aux méthodes qui ont été remplacées par des sous-classes afin que la classe puisse envelopper son propre code autour d’une méthode implémentée par la classe parente. C’est très pratique si vous faites un inheritance quelconque.