Sobes.tech
Junior — Middle

È possibile definire un'implementazione predefinita di un metodo in un'interfaccia o protocollo?

sobes.tech AI

Risposta dell'AI

In Swift, i protocolli possono contenere implementazioni di metodi predefinite tramite estensioni. Questo permette di impostare un comportamento standard per i metodi del protocollo, che può essere sovrascritto in tipi specifici.

Esempio:

protocol Greetable {
    func greet()
}

extension Greetable {
    func greet() {
        print("Saluto di default")
    }
}

struct Person: Greetable {}

let p = Person()
p.greet() // Mostrerà: Saluto di default

In questo modo, l'implementazione di default non è impostata nel protocollo stesso, ma nella sua estensione.