Einführung
Willkommen zur ersten Lektion über objektorientiertes Swift. Sie werden lernen, faul zu werden. Mit anderen Worten, Sie werden intelligenter und effektiver, wenn es um die Initialisierung eines Objekts geht. In der Programmierung ist es in der Tat gut für Ihre Teamkollegen und Benutzer, faul zu sein, weniger Code zu schreiben, solange er lesbar ist und die Arbeit erledigt. Bill Gates hat einmal erwähnt, wann immer harte Arbeit zu erledigen ist, weist er sie der faulsten Person zu, da er oder sie sicher einen einfachen Weg finden wird, dies zu tun.
Problem
Ich bin faul. Können wir schnell initialisieren?
Create Class with Designated Init
Erstellen Sie eine Klasse namens Human
Convenience
initialisiert die angegebene init-Methode durch Aufruf von self.init
.
Objekt erstellen
let lee = Human(name: "Bob Lee") // init(name: String)let bob = Human() // Convenience init()
UIColor initialisieren
Erstellen Sie eine Instanz, die UIColor
speichert.
import UIKitlet randomColor = UIColor(colorLiteralRed: 255/255, green: 80/255, blue: 85/255, alpha: 1)
Benutzerdefinierte Komfort-Init
Erstellen Sie unsere eigene convenience
-Init, die die angegebene Init initialisiert, indem Sie extension
zu UIColor
hinzufügen.
Anwendung
- Schnelle Initialisierung für Open Source Projekte
- Custom
convenience
inits mitUIKit
Quellcode
2001-convenience-init.spielplatz
Fazit
Sie haben gelernt, faul und effektiv zugleich zu werden. Stellen Sie sich vor, Sie besitzen eine Bibliothek für Ihre Teamkollegen. Sie müssen nicht mehr die aufgeblähte designated init-Methode verwenden. Stattdessen können Sie mehrere convenience
Init-Methoden bereitstellen, damit deren Leben einfacher wird. Es ist ähnlich, wie die Apple-Ingenieure uns bequeme Init-Methoden für UIColor
zur Verfügung gestellt haben. Es ist eine Win-Win-Situation.
In der nächsten Lektion erfahren Sie, wie Initialisierungen fehlschlagen.