HI,我已经使用5个具有一些功能的视图控制器进行了简单的应用程序..我现在想要做的是在主屏幕上添加时间。并且它应该运行直到我退出应用程序..我将移动到其他视图控制器,但该计时器将运行..我将如何具有此功能?
答案 0 :(得分:3)
点击此处的“计时器”部分:http://www.iphoneexamples.com/
另请参阅Apple的NSTimer Documentation
答案 1 :(得分:0)
最实用的方法是伪造它 - 也就是说,只存储开始时间戳,而不必费心地继续维护任何类型的timePassed
变量。这样更容易编码,实际上更可靠,因为它很稳定。
在计时器启动的瞬间存储NSDate
,并且只要您想显示或更新计时器,请使用NSDate
的{{3}}方法,该方法返回秒数传递为NSTimeInterval
,基本上是double的typedef。注意:此函数在过去的时间戳上调用时返回一个负数,这就是这里的情况。
如果您的部分显示器正在显示此时间,您可以使用timeIntervalSinceNow
对象每隔一秒(或更频繁地)更新它,该对象会定期调用您更新显示的方法之一。
示例代码:
// In the initialization code:
self.timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self
selector:@selector(secondPassed:) userInfo:nil repeats:YES];
// Later:
// (This code assumes #minutes < 60.)
- (void) secondPassed: (NSTimer:) timer {
NSTimeInterval secondsPassed = -1 * [self.timerStart timeIntervalSinceNow];
int minutes = (int)(secondsPassed / 60);
int seconds = (int)(seconds - minutes * 60);
NSString* timerString = [NSString stringWithFormat:@"%02d:%02d",
minutes, seconds];
[self updateTimerDisplay:timerString];
}