У меня есть viewcontroller, который отображает табличное представление со сложным пользовательским интерфейсом и различными типами данных в зависимости от определенных условий / типа пользователя. Это включает в себя логику для разделения и обработки данных по выбору пользователя и скрытия / отображения раздела «развернуть / закрыть». Поскольку я использую шаблон MVVM, может ли мой класс viewmodel соответствовать UITableviewDelegate и UITableViewDataSource, чтобы у меня был более тонкий viewcontroller?
Что-то вроде -
class HomeViewController: UIViewController {
.
.
let viewModel = HomeViewModel()
@IBOutlet weak var tableView: UITableView!
.
.
tableView.delegate = viewModel
tableView.dataSource = viewModel
}
class HomeViewModel: UITableViewDataSource, UITableViewDelegate {
//Implement delegates
}