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.