Как можно было бы перейти к контроллеру представления, нажав на ячейку табличного представления? Моя текущая структура:
Я использую navigation controller
как единственный способ навигации по своему приложению.
Я использую view models
типа struct
для представления отдельных ячеек. Эти модели представления соответствуют пользовательскому протоколу, который состоит из метода, который я называю cellSelected
.
Тогда у меня вопрос:
Как я могу перейти к view controller
, нажав на ячейку, используя мою функцию cellSelected
? Это возможно?
Пользовательский протокол:
protocol CellRepresentable
{
var reuseIdentier: String { get }
func registerCell(tableView: UITableView)
func cellInstance(of tableView: UITableView, for indexPath: IndexPath) -> UITableViewCell
func cellSelected()
}
Пример модели вида:
struct ProfileNameViewModel
{
}
extension ProfileNameViewModel: TextPresentable
{
var text: String
{
return "Name"
}
}
extension ProfileNameViewModel: CellRepresentable
{
var reuseIdentier: String
{
get
{
return ProfileTableViewCell<ProfileNameViewModel>.reuseIdentifier
}
}
func registerCell(tableView: UITableView)
{
tableView.register(ProfileTableViewCell<ProfileNameViewModel>.self, forCellReuseIdentifier: ProfileTableViewCell<ProfileNameViewModel>.reuseIdentifier)
}
func cellInstance(of tableView: UITableView, for indexPath: IndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCell(withIdentifier: reuseIdentier, for: indexPath) as! ProfileTableViewCell<ProfileNameViewModel>
cell.configure(withDelegate: self)
return cell
}
func cellSelected()
{
// ??
}
}