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.