Sobes.tech
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])")
    }
}

Обикновено в проекта се създава отделен клас или разширение за делегата, за да се отдели логиката за показване и обработка на събития от контролера.