【发布时间】:2012-03-21 15:29:45
【问题描述】:
我正在开发一个多视图应用程序。其中一个视图是表格视图。每个单元格都有一个秒表。我打算将 NSTimer 用于秒表。即使用户切换视图然后稍后返回,我是否需要实现多线程以使计时器正常工作? 我做了我的研究,但大多数教程都在一个视图中涵盖了一个 NSTimer。我想确保用户可以在计时器运行时做其他事情,比如使用界面、导航等。在另一篇帖子Placing an NSTimer in a separate thread 有人说你需要一个不同的计时器运行循环。在我的情况下,每个计时器都需要一个运行循环吗?可取吗?任何性能缺陷?
非常感谢!
【问题讨论】:
-
你会同时运行多个秒表吗?
-
NSTimers 不会影响主线程 (UI)。因此,您可以使用任意数量的 NSTimer。
-
@KyleRosenbluth 是的,我将同时运行多个秒表。他们每个人都会跟踪不同的活动。
-
尝试将它们添加到这些运行循环中: NSRunLoop *runLoop = [NSRunLoop currentRunLoop]; [runLoop addTimer:timer forMode:NSRunLoopCommonModes]; [runLoop addTimer:timer forMode:UITrackingRunLoopMode];
-
感谢@KyleRosenbluth,但我采用了 Dancreek 发布的方法。 1 个计时器,用于更新所有秒表。用作魅力
标签: iphone xcode multithreading nstimer nsrunloop