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) // παράδειγμα
}
}