2011-03-31 1 views
3

У меня есть NSTimeInterval, который в основномработает вычисление интервала времени в фоновом режиме

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

Я хочу, чтобы это вычисление, чтобы быть всегда работает в фоновом режиме, когда я нахожусь в виде X, так что я могу отобразить таймер считая в UILabel .. как мне это сделать? Это похоже на приложение groupon iphone, но оно не отображается в деталях секунд

ответ

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 
} 
+0

так что это обновлениеInterval будет вызываться каждые 1 секунду? – aherlambang

+0

Правильно, интервал повторения также может быть меньше 1. –

+0

, который запланированTimerWithTimerInterval не указан http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer. html – aherlambang