Vai al contenuto

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
   }
}