Ciao a tutti ragazzi in questo articolo voglio parlarvi delle estensioni in Swift, esse possono essere paragonate alle Categorie in Objective-C. In pratica esse ci consentono di aggiungere delle proprietà ad una classe o ad una struttura. A differenza dell’ Objective-C le estensioni in Swift non hanno un nome. La sintassi generale di un Estensione è la seguente:
extension nomeTipo{
…..
}
Inoltre possiamo anche fare in modo che la nostra estensione sia conforme a un protocollo
extension nomeTipo:Protocollo{
//implementazione
}
Esempio
class Auto {
var modello:String
var contaChilometri:Double
init (modello:String,contaKm:Double){
self.modello = modello
self.contaChilometri=contaKm
}
func avvio () {
println(“il motore della \(modello) si è avviato”)
}
func destra() {
println(“la \(modello) sta voltando a destra”)
}
func sinistra (){
println(“la \(modello) sta voltando a sinistra”)
}
}
//Aggiungiamo una funzionalità alla classe Auto ovvero
extensionAuto {
func cambioOlio(){
println(“È stato cambiato l’olio alla \(modello)“)
}
}
var Porsche = Auto(modello: “911 Turbo”, contaKm: 0.0)
Porsche.cambioOlio()
Come sempre se avete qualche domanda o dubbio lasciate pure un commento sotto l’articolo o su Facebook