Доброй ночи!
Делаю приложение по архитектуре VIPER.
Есть поле для поиска, вбиваем туда текст, нажимаем кнопку "поиск", отправляется запрос на API, данные получаются, разбираются и складываются в массив объектов.
Теперь чтоб перерисовать UITableView мне нужно пробросить делегатов из ViewController в Presenter, а из Presenter в Interactor, чтоб сообщить, что у нас данные обновились?
Нет, при нажатии на кнопку поиск, вызывается метод у презентера serchButtonDidTap(_ text: String) и передается строка поиска, призентер в свою очередь вызывает метод интерактора (и тут могут быть варианты, либо клоужер в ответе либо промис) obtainSearchResult(with string: String, completion: (Result<SearchEntity>) -> Void) в интеракторе отправляется запрос на сервер, и возвращается результат в клоужере, далее интерактор обрабатывает ошибку и если все ок формирует вью модель из энтити и вызывает метод у вью view.updateDatasource(_ datasource: [DataViewModel])