никак не дает мне покоя, а в этих ваших интернетах мнения разделились 50 на 50.
Сабж - есть модуль, который должен отображать список, ну, допустим, картинок. Для этого интерактор сначала получаетс JSON с этим списком в виде массиво URL, а потом асинхронно грузит сами пикчи. Интерактор пушит промежуточный разультат в виде массива, полученного из JSON в презентер, а вот дальше сам вопрос. Понятно, что презентер преобразовавыет эти данные для вью, но где эти преобразованные данные должны храниться?
Первый вариант - в презентере, а UITableViewDataSource должен в спрашивать данные у презентера, что то вроде presenter.imageAt(index: indexPath.row). Но тогда получается, что это вью просит данные у презентера, тобешь вью не пассивна, что противоречит VIPER.
Второй вариант - в самом вью, презентер просто отдает ViewModel данные вьюхе и на этом все. Но тогда процесс обновления данных и гарантия того, что данные актуальны могут очень усложниться, хотя все зависит от конкретного случая, само собой.
Я думаю, стоит хранить во view
данные должны храниться в интеракторе
Обсуждают сегодня