UITableView показывает список ячеек; DataSource даёт число строк и ячейки, Delegate — высоты, выбор и swipe-actions.
Разбор
- dequeueReusableCell переиспользует ячейки по reuse id.
- Тяжёлое состояние хранят в модели, не только в cell.
- reloadData против точечных batch updates.
- PrefetchingDataSource заранее грузит данные.
Итог
TableView разделяет данные (dataSource) и поведение (delegate).