Junior — Middle
Koje vrste inicijalizatora su dostupne za korišćenje prilikom proširenja funkcionalnosti u Extention?
sobes.tech АИ
Одговор од АИ
У Swift-у, проширења (Extensions) не могу додавати нове означене (designated) иницијализаторе, али могу додавати иницијализаторе типа convenience (кешње), под условом да они не улазе у конфликт са постојећим. Такође, није дозвољено преписивање постојећих иницијализатора.
То значи, у проширењима могу бити имплементирани само convenience иницијализатори који олакшавају креирање објекта позивањем већ постојећих означених иницијализатора.
Пример:
extension UIColor {
convenience init(hex: String) {
// Претварање hex низа у боју
self.init(red: 0, green: 0, blue: 0, alpha: 1) // пример
}
}