在后台运行时间间隔计算

时间:2011-03-31 05:25:16

标签: iphone objective-c cocoa-touch nstimeinterval

我有一个NSTimeInterval,基本上是

NSTimeInterval interval = [date1 timeIntervalSinceDate: [NSDate date]];

当我在视图X中时,我希望这个计算总是在后台运行,所以我可以在UILabel中显示倒计时器...我该怎么做?这就像在iphone应用程序中的组合,但它没有在秒的细节中显示它

1 个答案:

答案 0 :(得分:1)

您可以使用NSTimer来获取以设定的时间间隔调用的方法(但这都是在主线程上执行的,而不是在后台线程上执行的):

- (void)setupTimer {
    //Start a timer to call update updateInterval: every 1 second
    self.timer = [NSTimer scheduledTimerWithTimeInterval:1.0
                                               target:self
                                               selector:@selector(updateInterval:)
                                             userInfo:nil
                                              repeats:YES];
}

- (void)updateInterval:(NSTimer *)timer {
    NSTimeInterval interval = [date1 timeIntervaleSinceDate:[NSDate date]];
    //Do other things like updating the label
}