Sobes.tech
Junior — Middle

É possível definir a implementação de métodos dentro de um protocolo?

sobes.tech IA

Resposta da IA

Em Swift, os protocolos podem conter declarações de métodos, mas não suas implementações. No entanto, com o surgimento de extensões, é possível adicionar uma implementação de métodos para o protocolo, que estará disponível para todos os tipos que conformem a esse protocolo.

Exemplo:

protocol MyProtocol {
    func doSomething()
}

extension MyProtocol {
    func doSomething() {
        print("Implementação padrão")
    }
}

struct MyStruct: MyProtocol {}

let obj = MyStruct()
obj.doSomething() // Vai exibir: Implementação padrão

Dessa forma, não há implementação dentro do próprio protocolo, mas com extensões, é possível fornecer uma implementação padrão para os métodos do protocolo.