让我们假设我们必须每10秒更新一次数据。 我们应该在哪里创建/存储计时器,在VIPER体系结构中它将在哪里触发关联的方法? ViewController应该这样做并通知演示者吗?或Presenter应该保持计时器? 谢谢!
答案 0 :(得分:2)
更新数据与Presenter
或Controller
无关。 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体系结构中的计时器。