Sobes.tech
Junior — Middle

Pode definir uma implementação padrão de um método numa interface ou protocolo?

sobes.tech IA

Resposta da IA

No Swift, os protocolos podem conter implementações padrão de métodos através de extensões. Isso permite definir um comportamento padrão para os métodos do protocolo, que pode ser sobrescrito em tipos específicos.

Exemplo:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Olá padrão")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Vai mostrar: Olá padrão

Dessa forma, a implementação padrão é definida não no próprio protocolo, mas na sua extensão.