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
}
}