Анкит, я хотел бы отметить, что все транзакции данных между блоками маршрутизации должны быть инициированы при распространении бизнес-логики, необязательно с сохранением состояния.
Имеется интерактор для преобразования входных / выходных данныхот уровня сущности до презентаторов, что делает презентатора независимым от состояния системы, инкапсулированным в уровне сущностей и, следовательно, более тестируемым.Это делает его пригодным для распространения битов данных, специфичных для объекта, в маршрутизатор, который затем направляет его в новый стек представителя-презентатора-интерактора.
Для предоставления интерфейса с отслеживанием состояния существует презентатор.для просмотра.В тех случаях, когда конкретные преобразования данных не требуются, а интерактор опускается, считается нормальным передавать события от презентатора через маршрутизатор и в другой стек представления-презентатора-интерактора.
Однако, что не является нормальнымдолжно иметь прямое распространение события от представления (UIViewController в вашем случае) к маршрутизатору по той причине, что это создает прямую привязку сценария навигации, и просто нет возможности вставить бизнес-логику оппортунистически, потому что презентатор не участвуетв транзакции.
Итак, я хотел бы заявить, что да, он сломается Clean.Распространение на маршрутизатор либо от докладчика, либо от интерактора.Это распространяется даже на случаи, когда событие может быть представлено как Void
Swift значение пустого кортежа, следовательно, распространение буквально никаких данных вообще.