3

假设我们必须每 10 秒更新一次数据。我们应该在哪里创建/存储计时器,它会在 VIPER 架构中的哪里触发相关方法?ViewController 应该这样做并通知演示者吗?或演示者应该持有计时器?

4

3 回答 3

4

更新数据不是 aPresenter或 aController应该关心的事情。Presenter(顾名思义)应该只控制演示文稿和东西。在 VIPER 架构中,Interactor负责处理逻辑,“每 10 秒更新一次”对我来说听起来像是一个逻辑。所以定时器应该Interactor和着火,应该通知Presenter,然后相应地Presenter通知Controller。(如果你认为这太过分了,那就是 VIPER)

于 2018-07-20T19:17:43.350 回答
1

您可以在 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 =博客%20post

于 2018-07-20T19:20:07.673 回答
0

Interactor 类将负责 VIPER 架构中的计时器。

于 2018-07-21T19:41:38.370 回答