Sobes.tech
Junior — Middle

Ποιοι τύποι αρχικοποιητών διατίθενται για χρήση κατά την επέκταση της λειτουργικότητας στο Extention;

sobes.tech AI

Απάντηση από AI

Στο Swift, οι επεκτάσεις (Extensions) δεν μπορούν να προσθέσουν νέους καθορισμένους (designated) αρχικοποιητές, αλλά μπορούν να προσθέσουν αρχικοποιητές ευκολίας (convenience), εφόσον αυτοί δεν συγκρούονται με τους υπάρχοντες. Επιπλέον, δεν επιτρέπεται η υπεγράφη των υπαρχόντων αρχικοποιητών.

Δηλαδή, στις επεκτάσεις, μπορούν να υλοποιηθούν μόνο αρχικοποιητές ευκολίας που διευκολύνουν τη δημιουργία αντικειμένου καλώντας ήδη υπάρχοντες καθορισμένους αρχικοποιητές.

Παράδειγμα:

extension UIColor {
    convenience init(hex: String) {
        // Μετατροπή της hex συμβολοσειράς σε χρώμα
        self.init(red: 0, green: 0, blue: 0, alpha: 1) // παράδειγμα
    }
}