Subclassing vs Erweiterung in swift

8

Ich möchte ein UITextField aus irgendeinem Grund anpassen. Also habe ich es derzeit unterklassifiziert und einige Methoden hinzugefügt.

Kann ich stattdessen die Erweiterung über UITextField verwenden? Was ist ein guter Ansatz? Bitte erkläre !

    
Rajesh 02.07.2015, 08:54
quelle

1 Antwort

39

Als allgemeine Faustregel (YMMV):

  • Fügen Sie allgemeine Funktionen hinzu, die für jedes UITextField verfügbar sein sollten? Wenn ja, erstellen Sie eine Erweiterung. Alle UITextField Instanzen können die neuen Methoden aufrufen.
  • Fügen Sie Funktionen hinzu, die auf spezielle Instanzen von UITextField beschränkt sein sollten, die Sie genau identifizieren würden? Wenn dies der Fall ist, erstellen Sie eine Unterklasse. Nur die Instanzen der Unterklasse können die neuen Methoden verwenden.

Es gibt andere technische Überlegungen, wie zum Beispiel Erweiterungen keine Felder hinzufügen können.

    
Jean-Philippe Pellet 02.07.2015, 09:01
quelle

Tags und Links