У меня есть ViewController1, который идет в ViewModel, а затем в Coordinator, чтобы представить ViewController2.
Проблема заключается в следующем: мне нужно знать, когда VC2 был отклонен на VC1.
Что мне нужно сделать : Когда VC2 закрывается, мне нужно перезагрузить таблицу из VC1.
Я не могу использовать делегат, поскольку не могу связаться между ними (из-за координатора).
Любая помощь, пожалуйста?
Добавление некоторого кода: Мой координатор:
public class Coordinator: CoordinatorProtocol {
public func openVC1() {
let viewModel = ViewModel1(coordinator: self)
guard let VC1 = ViewControllerOne.instantiate(storyboard: storyboard, viewModel: viewModel) else {
return
}
navigationController?.pushViewController(VC1, animated: true)
}
public func openVC2() {
let viewModel = ViewModel2()
guard let alertPriceDeleteVC = ViewControllerTwo.instantiate(storyboard: storyboard, viewModel: viewModel) else {
return
}
let nav = UINavigationController(rootViewController: VC2)
navigationController?.present(nav, animated: true, completion: nil)
}
CoordinatorProtocol:
public protocol CoordinatorProtocol {
func openVC1()
func openVC2()
}
Мой ViewModel1, вызывающий VC2 через координаторDelegate:
func openVC2() {
coordinator.openVC2()
}
Что я делаю когда я заканчиваю sh ViewController2 и отправляю пользователя обратно, делаю VC1:
navigationController?.dismiss(animated: true, completion: nil)