0
我嘗試運行倒計時器應用程序。當應用程序前臺到後臺時,定時器沒有調整
當我從背景到Forground,每次我落後1秒計時器開始,
我得到了系統時間時,在後臺程序運行&獲取時間之間的差異時,應用進來forground使用此代碼,
NSDate *oldDate = [dateFor dateFromString:oldD];
NSLog(@"Old Date in Timer : %@",oldDate);
NSDate *newcurrentdate = [NSDate date];
NSLog(@"NEWCURRENTDATE:%@",newcurrentdate);
NSCalendar *gregorianCalendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSUInteger unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *componentsss = [gregorianCalendar components:unitFlags
fromDate:oldDate
toDate:newcurrentdate
options:0];
[gregorianCalendar release];
有了這個我得到了差異。特定秒時應用來自後臺前景,
這秒添加到用於更新計時器我的計時器代碼,
ticks =ticks + 1;
if(ticks > 59)
{
minute = minute + 1;
ticks = 0;
if(minute > 59)
{
hour = hour + 1;
minute = 0;
if(hour > 23)
{
hour = 0;
}
}
}
當時間開始第一次運行正常,但是從背景的時候forground它與計時器每次背後的一個二次啓動,
我嘗試在我的代碼添加1秒,但它不是給特定的時間值,
我怎麼能這樣做呢?
你如何收到「蜱」?你在使用NSTimer嗎? –