Junior — Middle
Hoe implementeer je een delegate voor het beheren van de tabel in je project?
sobes.tech AI
Antwoord van AI
Om een tabel (UITableView) in iOS te beheren, wordt meestal een klasse gemaakt die de protocollen UITableViewDelegate en UITableViewDataSource implementeert. De delegate is verantwoordelijk voor het afhandelen van interactiegebeurtenissen met de tabel, en de gegevensbron (data source) voor het leveren van de gegevens.
Voorbeeld van implementatie van de delegate en de gegevensbron:
class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let data = ["Appel", "Banaan", "Sinaasappel"]
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("Geselecteerd element: \(data[indexPath.row])")
}
}
In het project wordt meestal een aparte klasse of extensie voor de delegate gemaakt, om de presentatie- en gebeurtenisverwerkingslogica van de controller te scheiden.