這是我的iPhone秒錶應用程序的代碼,當你點擊開始按鈕時,它將以正確的格式數出來,所有的工作正常,以及停止按鈕和重置。問題是每次我停下來然後重新開始它會創建一個新的計時器,並且不會從最後一個繼續。我如何創建一個暫停,並能夠從當前時間繼續?NSTimer iPhone從當前時間恢復
感謝
NSDate *startDate;
NSTimer *stopWatchTimer;
-(void)showActivity {
NSDate *currentDate = [NSDate date];
NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:startDate];
NSDate *timerDate = [NSDate dateWithTimeIntervalSince1970:timeInterval];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"mm:ss.SS"];
[dateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
NSString *timeString=[dateFormatter stringFromDate:timerDate];
stopWatchLabel.text = timeString;
[dateFormatter release];
}
- (IBAction)onStartPressed:(id)sender {
startDate = [[NSDate date]retain];
stopWatchTimer = [NSTimer scheduledTimerWithTimeInterval:1/10 target:self selector:@selector(showActivity) userInfo:nil repeats:YES];
}
- (IBAction)onStopPressed:(id)sender {
[stopWatchTimer invalidate];
stopWatchTimer = nil;
[self showActivity];
}
- (IBAction)reset:(id)sender; {
stopWatchLabel.text = @"00:00.00";
}