我有一個NSTimer和一個NSDate一起工作倒數計時器。然後UILabel隨倒數更新。NSTimer和NSDate倒計時時鐘在模擬器中工作,但不在設備上
我面臨的問題是倒計時時鐘在模擬器中工作,但不在設備上。模擬器iOS 6.0和設備iOS 6.0.1。
這裏是我的代碼:
-(void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:YES];
[self startTimer];
}
// timer and update label to display a countdown clock
- (void)startTimer {
// Create a timer that fires every second repeatedly and save it in an ivar
NSTimer *timer = [[NSTimer alloc] init];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];
}
- (void)updateLabel {
// convert date string to date then set to a label
NSDateFormatter *dateStringParser = [[NSDateFormatter alloc] init];
[dateStringParser setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.000Z"];
NSDate *date = [dateStringParser dateFromString:deadlineDate];
NSLog(@"date from update label %@", date);
NSTimeInterval timeInterval = [date timeIntervalSinceNow]; ///< Assuming this is in the future for now.
NSString *stringVariable = [self stringFromTimeInterval:timeInterval];
self.deadlineLbl.text = [NSString stringWithFormat:@"%@", stringVariable];
NSLog(@"%@",stringVariable);
}
- (NSString *)stringFromTimeInterval:(NSTimeInterval)interval {
NSInteger ti = (NSInteger)interval;
// NSInteger seconds = ti % 60;
NSInteger minutes = (ti/60) % 60;
NSInteger hours = (ti/3600);
return [NSString stringWithFormat:@"%02i hours : %02i min", hours, minutes];
}
這裏的一些控制檯輸出第一模擬器上,然後在設備上:
模擬器控制檯輸出:
2012-11-14 15:39:57.021 appName[7856:13d03] 31 hours : 20 min
2012-11-14 15:39:58.020 appName[7856:13d03] 31 hours : 20 min
2012-11-14 15:39:59.021 appName[7856:13d03] 31 hours : 19 min
2012-11-14 15:40:00.021 appName[7856:13d03] 31 hours : 19 min
設備控制檯輸出:
2012-11-14 15:45:44.887 appName[7556:907] 00 hours : 00 min
2012-11-14 15:45:45.896 appName[7556:907] 00 hours : 00 min
2012-11-14 15:45:46.891 appName[7556:907] 00 hours : 00 min
2012-11-14 15:45:47.891 appName[7556:907] 00 hours : 00 min
我遇到的另一個問題是定時器在用戶離開視圖後不斷更新。
感謝符合任何幫助
什麼[self stringFromTimeInterval]呢?你可以發佈代碼嗎?以及在模擬器和設備中使用了哪些iOS? – meronix
我做了一個編輯。 iOS 6.0在模擬器和設備上。我也發佈了缺少的代碼。謝謝:) – hanumanDev
什麼顯示countdownDate的日誌?它在設備上有效嗎? – 2012-11-14 17:03:45