iphone - iOS : multiple NSTimer instances using the same view - do I need to use multithreading?

标签 iphone xcode multithreading nstimer nsrunloop

我正在开发一个多 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/

相关文章:

iphone - 在应用商店更新应用程序的新版本以及何时更改应用程序详细信息?

java - Spring Batch 多线程 - 如何让每个线程读取唯一记录?

ios - 架构arm64的 undefined symbol

java - 如何每 x 分钟执行每台机器的 url?

java - 在多线程环境中初始化EntityManagerFactory

ios - 无法在异常时显示 UIAlert

ios - 如何设置状态栏白色 ios 7.1?

c# - 开发客户端-服务器 iphone 应用程序

xcode - 在 delphi XE5 中使用 XCode5 在 iOS 上添加配置文件

ios - 在 XCode 中以编程方式执行 segue 后的空白 ViewController