Sobes.tech
Junior — Middle

Come implementi un delegato per gestire la tabella nel tuo progetto?

sobes.tech AI

Risposta dell'AI

Per gestire una tabella (UITableView) in iOS, si crea generalmente una classe che implementa i protocolli UITableViewDelegate e UITableViewDataSource. Il delegato si occupa di gestire gli eventi di interazione con la tabella, mentre la fonte dei dati (data source) fornisce i dati.

Esempio di implementazione del delegato e della fonte dei dati:

class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    let data = ["Mela", "Banana", "Arancia"]

    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return data.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath)
        cell.textLabel?.text = data[indexPath.row]
        return cell
    }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        print("Elemento selezionato: \(data[indexPath.row])")
    }
}

Nel progetto, di solito si crea una classe o un'estensione separata per il delegato, per separare la logica di visualizzazione e gestione degli eventi dal controller.