Viper架构中的计时器在哪里

时间:2018-07-20 18:40:25

标签: ios swift viper viper-architecture

让我们假设我们必须每10秒更新一次数据。 我们应该在哪里创建/存储计时器,在VIPER体系结构中它将在哪里触发关联的方法? ViewController应该这样做并通知演示者吗?或Presenter应该保持计时器? 谢谢!

3 个答案:

答案 0 :(得分:2)

更新数据与PresenterController无关。 Presenter(顾名思义)仅应控制展示和内容。在VIPER架构中,Interactor负责处理逻辑,对我来说,“每10秒更新一次”听起来很合理。因此计时器应为Interactor,并在着火时应通知Presenter,然后Presenter相应地通知Controller。 (如果您认为这太多了,那只是VIPER)

答案 1 :(得分:0)

您可以在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

答案 2 :(得分:0)

Interactor类将负责VIPER体系结构中的计时器。