EXTENSION¶
Cosa imparerò:
- Estendere un tipo esistente per aggiungere proprietà o metodi
- Creare estensioni dei propri modelli
- Implementare protocolli attraverso le estensioni
Per gestire al meglio l’organizzazione del codice e l’aggiunta di metodi a tipi già esistenti possiamo utilizzare le extension.
Possiamo aggiungere ad un tipo esistente proprietà computate, metodi, inizializzazioni e conformare ad un protocollo.
import UIKit
extension UIColor{
//proprietà computate
}
Possiamo utilizzare le extension per organizzare al meglio il codice, ci basterà utilizzare la parola extension su una classe o struttura esistente e al suo aggiungere i metodi che vogliamo.
struct Ristorante {
var tavolo: Int
var conto: Double
var clientiPerTavolo: Int
}
extension Ristorante {
func divideCheck() -> Double {
conto / Double(clientiPerTavolo)
}
}
Spesso si usano le extension anche per organizzare il codice in blocchi logici, ad esempio separando la logica della tabella dal resto del view controller:
extension NomeViewController: UITableViewDataSource, UITableViewDelegate {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1// Restituisci il numero di righe della tua tabella
}
}