0
我正在寫一個倒計時器應用程序,如iPhone的時鐘應用程序中的計時器選項卡。現在我無法比較日期,'現在'和'futureDate'。所有的變量都是合成的並且是非原子的並且保持不變。 我現在有這個代碼。在nstimer選擇器內比較日期
- (IBAction)startTimer:(id)sender {
NSLog(@"startTimer");
pickerView.hidden = YES;
labelView.hidden = NO;
now = [[NSDate alloc] init];
futureDate = [[NSDate alloc] initWithTimeInterval:picker.countDownDuration sinceDate:now];
NSLog(@"Dates.\nNow = (%@) \nfutureDate (%@)", now, futureDate);
timerLabelUpdater = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(labelUpdater) userInfo:nil repeats:YES];
}
- (void)labelUpdater {
if ([now timeIntervalSinceDate:futureDate] < 0.0) {
NSLog(@"YES\nDates.\nNow = (%@) \nfutureDate (%@)", now, futureDate);
} else {
NSLog(@"NO\nNow = (%@) \nfutureDate (%@)", now, futureDate);
}
}
調試信息: 2011-02-08 16:46:02.449應用[22504:207] startTimer所 2011-02-08 16:46:02.451應用[22504:207]日期。 Now =(2011-02-08 18:46:02 +0000)
futureDate(2011-02-08 18:47:02 +0000) 2011-02-08 16:46:03.451 App [22504:207 ]是的
它永遠給我是「永遠」。 但是,如果您看到可變小時數,則與我的時鐘時間相比,它們在未來是+ 2小時。這是錯誤嗎?