У меня есть несколько вопросов. Как лучше всего использовать интерактор:
Допустим, в интеракторе я сохраняю какие-то данные, но хочу проверить эти данные и показать следующий алерт:
self.presenter?.showAlert(with: "All fields are required for adding exercise.".localized)
First question is this violation of Viper? And do I need to check data in presenter before passing it to interceptor?
Another question: Do I need to use function
showAlertFillIssueinstead of passing text?
Даже допустим пройду от presenter в случае нарушения interactor.





Привет с Viper Architechture, Interractor содержит бизнес-логику. Итак, при проверке ваших данных. Вы можете вызвать метод из вашего докладчика, чтобы отобразить сообщение об ошибке. Вы можете определить перечисление для обработки ошибок и передать его методам showAlert.
self.presenter?.showAlert(with: FormError.AllFieldRequired)
да, я согласен с @AndreasZUERCHER, что только один слой в VIPER должен контролировать это поведение. Который ведущий. Мы просто получаем некоторые данные от сервисов и возвращаем их обратно ведущему, который решает, что делать, проверять эти данные или выполнять другие действия.
Как описано в https://TheSwiftDev.com/the-ultimate-viper-architecture-tutorial,
Нет, зона интерактора предназначена для всех способов получения данных из баз данных, датчиков или сети. Зона докладчика предназначена для бизнес-логики. (Да, есть правила работы с базой данных, взаимодействия с датчиком и сетевого протокола, но это инфраструктурные правила, а не бизнес-правила домена приложения.)