Sobes.tech
Назад к вопросам
Junior — Middle
71

Можете объяснить, что такое протокол UITableViewDataSource в iOS и как он используется для отображения данных в таблице?

Компании, где спрашивали
SimbirsoftSimbirsoft

Ответ от нейросети

sobes.tech AI

UITableViewDataSource — это протокол в iOS, который определяет методы для предоставления данных и управления содержимым таблицы (UITableView). Он отвечает за то, какие данные и в каком виде отображаются в ячейках таблицы.

Основные методы протокола:

  • tableView(_:numberOfRowsInSection:) — возвращает количество строк в секции таблицы.
  • tableView(_:cellForRowAt:) — возвращает ячейку (UITableViewCell) для конкретной строки, где настраивается отображение данных.

Использование:

  1. Класс (например, UIViewController) объявляет, что реализует UITableViewDataSource.
  2. Реализует обязательные методы протокола.
  3. Устанавливает себя как источник данных для таблицы: tableView.dataSource = self.

Пример:

class MyViewController: UIViewController, 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
    }
}

Таким образом, UITableViewDataSource связывает данные с визуальным представлением в таблице.