Junior — Middle
Extention'da işlevselliği genişletirken kullanılmak üzere hangi tür başlatıcılar mevcuttur?
sobes.tech yapay zeka
AI'dan gelen yanıt
Swift'te genişletmeler (Extensions), yeni belirlenmiş (designated) başlatıcılar ekleyemez, ancak mevcut olmayanlar dışında convenience (kolaylık) başlatıcılar ekleyebilirler. Ayrıca, mevcut başlatıcıların üzerine yazmak yasaktır.
Yani, genişletmelerde sadece mevcut designated başlatıcıları çağırarak nesne oluşturmayı kolaylaştıran convenience başlatıcılar uygulanabilir.
Örnek:
extension UIColor {
convenience init(hex: String) {
// Hex dizgisini renge dönüştürme
self.init(red: 0, green: 0, blue: 0, alpha: 1) // örnek
}
}