Sobes.tech
Junior — Middle

Welke soorten initialisatoren zijn beschikbaar voor gebruik bij het uitbreiden van functionaliteit in Extention?

sobes.tech AI

Antwoord van AI

In Swift kunnen uitbreidingen (Extensions) geen nieuwe aangewezen (designated) initializers toevoegen, maar ze kunnen wel convenience (gemak) initializers toevoegen, zolang ze niet conflicteren met bestaande. Het is ook niet toegestaan om bestaande initializers te overschrijven.

Dat wil zeggen, in uitbreidingen kunnen alleen convenience initializers worden geïmplementeerd die het maken van een object vergemakkelijken door bestaande aangewezen initializers aan te roepen.

Voorbeeld:

extension UIColor {
    convenience init(hex: String) {
        // Converteer hex-string naar kleur
        self.init(red: 0, green: 0, blue: 0, alpha: 1) // voorbeeld
    }
}