Sobes.tech
Junior — Middle

¿Se puede definir la implementación de métodos dentro de un protocolo?

sobes.tech AI

Respuesta de la IA

En Swift, los protocolos pueden contener declaraciones de métodos, pero no sus implementaciones. Sin embargo, con la aparición de extensiones, se puede agregar una implementación de métodos para el protocolo, que estará disponible para todos los tipos que conformen ese protocolo.

Ejemplo:

protocol MyProtocol {
    func doSomething()
}

extension MyProtocol {
    func doSomething() {
        print("Implementación por defecto")
    }
}

struct MyStruct: MyProtocol {}

let obj = MyStruct()
obj.doSomething() // Mostrará: Implementación por defecto

De esta manera, dentro del propio protocolo no hay implementación, pero mediante extensiones se puede proporcionar una implementación predeterminada para los métodos del protocolo.