Я пытаюсь запустить приложение таймера обратного отсчета.
Когда я переходил из Фона в фоновый режим, каждый раз, когда мой таймер запускался за 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];
С этим я получил diff.в течение определенной секунды, когда приложение переходит из фона на передний план,
и добавьте эту секунду к моему коду таймера для обновления таймера,
ticks =ticks + 1;
if(ticks > 59)
{
minute = minute + 1;
ticks = 0;
if(minute > 59)
{
hour = hour + 1;
minute = 0;
if(hour > 23)
{
hour = 0;
}
}
}
Когда время запуска в первый раз, оно работает нормально, но при поступленииот фона к фону это таймер запускается с секундной задержкой каждый раз,
Я пытаюсь добавить 1 секунду в своем коде, но это не дает определенного значения таймера,
Как я могу это сделать?