我正在开发一个多 View 应用程序。其中一种 View 是 TableView 。每个牢房都有一个秒表。我打算使用 NSTimer 作为秒表。即使用户切换 View 然后稍后返回,我是否需要实现多线程才能使计时器正常工作? 我做了研究,但大多数教程都在单个 View 中介绍了一个 NSTimer。我想确保用户在计时器运行时可以执行其他操作,例如使用界面、导航等。在另一篇文章中 Placing an NSTimer in a separate thread有人说你需要一个不同的计时器运行循环。在我的情况下,每个计时器都需要一个运行循环吗?可取吗?有性能缺陷吗?
非常感谢!
最佳答案
一个运行循环应该就可以了。您的界面仍然具有响应能力。
请记住,计时器永远无法保证准确。它们受到同一循环中有多少其他东西的影响。可以使用计时器来更新显示,但不能实际测量时间。当您启动秒表时设置一个 NSDate,然后在每次显示计时器更新显示时将当前日期与该开始日期进行比较。
由于您应该只使用 NSTimer 来更新显示,您是否可以只使用一个通用显示更新计时器来更新所有正在运行的秒表,而不是为每个秒表使用一个计时器?
关于iphone - iOS : multiple NSTimer instances using the same view - do I need to use multithreading?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9807698/