Sobes.tech
Junior — Middle

Ce tipuri de inițializatori sunt disponibile pentru utilizare la extinderea funcționalității în Extention?

sobes.tech AI

Răspuns de la AI

În Swift, extensiile (Extensions) nu pot adăuga noi inițializatori desemnați (principali), dar pot adăuga inițializatori de conveniență, atâta timp cât aceștia nu intră în conflict cu cei existenți. De asemenea, nu se poate suprascrie inițializatorii existenți.

Adică, în extensii, se pot implementa doar inițializatori de conveniență care facilitează crearea unui obiect apelând deja inițializatorii desemnați existenți.

Exemplu:

extension UIColor {
    convenience init(hex: String) {
        // Conversia șirului hex în culoare
        self.init(red: 0, green: 0, blue: 0, alpha: 1) // exemplu
    }
}