Где есть таймер в архитектуре Viper
Давайте предположим, что каждые 10 секунд мы должны обновлять наши данные. Где мы должны создать / сохранить таймер и где он будет запускать связанный метод в архитектуре VIPER? Должен ли ViewController сделать это и сообщить об этом докладчику? или ведущий должен держать таймер? Спасибо!
3 ответа
Обновление данных это не то, что Presenter
или Controller
должен быть обеспокоен Presenter
(как следует из названия) должен только контролировать презентацию и прочее. в архитектуре VIPER, Interactor
отвечает за обработку логики, и "Обновление каждые 10 секунд" звучит для меня как логика. поэтому таймер должен быть Interactor
и при пожаре, должен сообщить Presenter
, затем Presenter
сообщить Controller
соответственно. (Если вы думаете, что это слишком много котла, ну, это просто VIPER)
Вы можете создать и сохранить таймер в классе Interactor.
Michal Wojtysiak @ swifting.io написал хорошую статью об этом здесь: https://swifting.io/blog/2016/03/13/9-how-to-invalidate-nstimer-properly/?utm_source=swifting.io&utm_medium=web&utm_campaign=blog%20post