Junior — Middle
Jak implementujete delegáta pro správu tabulky ve svém projektu?
sobes.tech AI
Odpověď od AI
Pro správu tabulky (UITableView) v iOS se obvykle vytváří třída, která implementuje protokoly UITableViewDelegate a UITableViewDataSource. Delegát je zodpovědný za zpracování událostí interakce s tabulkou, zatímco datový zdroj (data source) za poskytování dat.
Příklad implementace delegáta a datového zdroje:
class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let data = ["Jablko", "Banán", "Pomeranč"]
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("Vybraný prvek: \(data[indexPath.row])")
}
}
V projektu se obvykle vytváří samostatná třída nebo rozšíření pro delegáta, aby se oddělila logika zobrazení a zpracování událostí od řadiče.