Junior — Middle
Welche Arten von Initialisierern stehen zur Verfügung, um bei der Erweiterung der Funktionalität in Extention verwendet zu werden?
sobes.tech KI
Antwort von AI
In Swift können Erweiterungen (Extensions) keine neuen Designated (Haupt-)Initialisierer hinzufügen, aber sie können Convenience-Initialisierer hinzufügen, solange diese nicht mit bestehenden in Konflikt stehen. Es ist auch nicht erlaubt, bestehende Initialisierer zu überschreiben.
Das bedeutet, in Erweiterungen können nur Convenience-Initialisierer implementiert werden, die die Erstellung eines Objekts erleichtern, indem sie bereits vorhandene Designated-Initialisierer aufrufen.
Beispiel:
extension UIColor {
convenience init(hex: String) {
// Umwandlung des Hex-Strings in eine Farbe
self.init(red: 0, green: 0, blue: 0, alpha: 1) // Beispiel
}
}