Junior — Middle
Как реализирате делегат за управление на таблицата във вашия проект?
sobes.tech AI
Отговор от AI
За управление на таблица (UITableView) в iOS обикновено се създава клас, който реализира протоколите UITableViewDelegate и UITableViewDataSource. Делегатът отговаря за обработката на събитията при взаимодействие с таблицата, а източникът на данни (data source) за предоставянето на данните.
Пример за реализиране на делегат и източник на данни:
class MyTableViewController: UIViewController, UITableViewDelegate, UITableViewDataSource {
let data = ["Ябълка", "Банан", "Портокал"]
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("Избраният елемент: \(data[indexPath.row])")
}
}
Обикновено в проекта се създава отделен клас или разширение за делегата, за да се отдели логиката за показване и обработка на събития от контролера.