Wenn ich eine Klasse Christmas
, und ein Protokoll Merry
, Christmas
viele Menschen wieder in Einklang zu Merry
, wäre es auf diese Weise tun:Warum fügen wir Protokollkonformität mit Erweiterungen hinzu?
class Christmas {
...
}
extension Christmas: Merry {
...
}
es auch von Apple gefördert wird.
Allerdings ist es nicht bequemer, nur die Klasse zu Protokoll macht anzupassen, wenn es definiert wird? Wie folgt aus:
class Christmas: Merry {
...
}
Was ist der Unterschied zwischen den zwei Methoden?
Kein großer Unterschied, der erste ist einfach ordentlich, da Ihre Root-Klasse nicht mit allen Problemen umgehen muss, die durch Protokollfunktionen verursacht werden. – rptwsthi
Ich verwende es, um meine Codes sauber zu halten, indem ich die Klassenkernfunktionen in die Originaldatei lege, während alle Delegiertenmethoden in einer anderen. Auch um bestehende Klassen so zu erweitern, wie sie gemacht sind. –
Mögliches Duplikat von http://stackoverflow.com/questions/36263892/extensions-in-my-own-custom-class oder http: // stackoverflow.com/questions/40502086/how-to-richtig-verwenden-class-extensions-in-swift. –