2

我正在开发一个多视图应用程序。其中一个视图是表格视图。每个单元格都有一个秒表。我打算将 NSTimer 用于秒表。即使用户切换视图然后稍后返回,我是否需要实现多线程以使计时器正常工作?我做了我的研究,但大多数教程都在一个视图中涵盖了一个 NSTimer。我想确保用户可以在计时器运行时执行其他操作,例如使用界面、导航等。在另一篇文章将 NSTimer 放置在单独的线程中有人说您需要为计时器使用不同的运行循环。在我的情况下,每个计时器都需要一个运行循环吗?可取吗?任何性能缺点?

非常感谢!

4

1 回答 1

2

一个运行循环应该没问题。您的界面仍将是响应式的。

请记住,计时器永远不能保证准确。它们受到同一循环中有多少其他东西的影响。可以使用计时器来更新显示,但不能实际测量时间。启动秒表时设置 NSDate,然后在每次显示计时器更新显示时将当前日期与该开始日期进行比较。

由于您应该只使用 NSTimer 来更新显示,您是否可以只使用一个通用的显示更新计时器来更新所有正在运行的秒表,而不是为每个秒表设置一个?

于 2012-03-21T16:09:59.323 回答