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