Sobes.tech
Junior — Middle

Que tipos de inicializadores estão disponíveis para uso ao expandir a funcionalidade no Extention?

sobes.tech IA

Resposta da IA

No Swift, as extensões não podem adicionar novos inicializadores designados (principais), mas podem adicionar inicializadores de conveniência, desde que não entrem em conflito com os existentes. Além disso, não é permitido sobrescrever os inicializadores existentes.

Ou seja, nas extensões, só podem ser implementados inicializadores de conveniência que facilitem a criação de objetos chamando os inicializadores designados já existentes.

Exemplo:

extension UIColor {
    convenience init(hex: String) {
        // Conversão de string hex para cor
        self.init(red: 0, green: 0, blue: 0, alpha: 1) // exemplo
    }
}