Sobes.tech
Junior — Middle

Cum implementați un delegat pentru gestionarea tabelului în proiectul dvs.?

sobes.tech AI

Răspuns de la AI

Pentru gestionarea unui tabel (UITableView) în iOS, se creează de obicei o clasă care implementează protocoalele UITableViewDelegate și UITableViewDataSource. Delegatul se ocupă de gestionarea evenimentelor de interacțiune cu tabelul, iar sursa de date (data source) furnizează datele.

Exemplu de implementare a delegatului și a sursei de date:

class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
    let data = ["Măr", "Banana", "Portocală"]

    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("Element selectat: \(data[indexPath.row])")
    }
}

În proiect, de obicei, se creează o clasă sau o extensie separată pentru delegat, pentru a separa logica de afișare și gestionare a evenimentelor de controler.