Timer Swift定时器管理器作为单例还是使用依赖注入?

Timer Swift定时器管理器作为单例还是使用依赖注入?,timer,Timer,我正在创建一个严重依赖于定时器类的iOS应用程序。我已经到了需要创建计时器管理类的开发阶段 因为计时器需要在我的大多数视图控制器中可见,所以我需要一种允许必要的视图控制器访问计时器管理器的方法。我试图在三个选项之间做出选择: 使用单例,因为在任何给定时间只有一个计时器实例在运行 在负责创建计时器的视图控制器中创建计时器,并为需要显示时间的视图控制器发布通知 在负责创建计时器的视图控制器中创建计时器,并使用依赖项注入将其传递给其他视图控制器 从可测试性的角度来看,其中一个选项比另一个更好吗?我正在

我正在创建一个严重依赖于
定时器类的iOS应用程序。我已经到了需要创建计时器管理类的开发阶段

因为计时器需要在我的大多数视图控制器中可见,所以我需要一种允许必要的视图控制器访问计时器管理器的方法。我试图在三个选项之间做出选择:

  • 使用单例,因为在任何给定时间只有一个计时器实例在运行
  • 在负责创建计时器的视图控制器中创建计时器,并为需要显示时间的视图控制器发布通知
  • 在负责创建计时器的视图控制器中创建计时器,并使用依赖项注入将其传递给其他视图控制器

  • 从可测试性的角度来看,其中一个选项比另一个更好吗?我正在潜入TDD,希望确保我有一个可测试的解决方案。

    在这个@NickKohrn上有进展吗?我正在尝试使用计时器单例实现类似的功能,但无法启动选择器。