【问题标题】:Where have timer be in Viper architectureViper 架构中的计时器在哪里
【发布时间】:2018-07-20 18:40:24
【问题描述】:

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

【问题讨论】:

    标签: ios swift viper-architecture


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-28
          相关资源
          最近更新 更多