2011-03-31 31 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

so this updateInterval will be called every 1 second? – aherlambang 2011-03-31 06:01:04

+0

正確,重複間隔也可以小於1. – 2011-03-31 06:05:32

+0

scheduledTimerWithTimerInterval未列出http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSTimer_Class/Reference/NSTimer。 html – aherlambang 2011-03-31 06:28:01