Sobes.tech
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) // пример
    }
}