Pourquoi utiliser des Initialiseurs de Swift dans les classes?

Je suis en train d'essayer de comprendre l'utilisation de la required mot-clé dans Swift classes.

class SomeClass 
{
    required init() {
        //initializer implementation goes here
    }
}

required ne pas me forcer à mettre en œuvre la méthode dans mes enfant de la classe. Si je veux remplacer le required désigné de l'initialiseur de ma classe parent j'ai besoin d'écrire required et pas override. Je sais comment il fonctionne, mais ne peut pas comprendre pourquoi je devrais le faire.

Quel est l'avantage de required?
Aussi loin que je peux dire, langages tels que le C# ne pas avoir quelque chose comme ça et fonctionnent très bien avec override.

  • Mise en œuvre dans votre sous-classes n'est pas nécessaire en raison de l'héritage, ce qui est logique. Cependant, je suis également se demander l'intérêt ici. Si une sous-classe (qui, par hypothèse, les remplacements de init() mais pas des initialiseur) obtient init par un processus appelé la héritées nécessaire d'initialiseur, et il est nécessaire d'initialiseur par la suite des appels init(), ne serait-il pas appel à la sous-classe' substituée init et tout est bon? -- Je pense que la seule bonne raison serait que l'initialiseur de ne pas appel init() sur soi, donc primordiale 'init()' ne sera jamais appelé.
  • Cela pourrait être intéressant dans ce contexte: Protocole func retour Auto.
InformationsquelleAutor TalkingCode | 2015-05-06