나는 자정까지 카운트 다운하는 타이머가있는 프로젝트를 가지고있다. 나는 그대로 두어야한다. 매초 자정까지 시간을 계산해야한다. (NSTimer 메서드는 1 초마다 호출된다.)iPhone dev - NSTimer 정확도를 다시 계산하지 않고 시간을 계산 하시겠습니까?
NSDate *now = [[NSDate alloc] init];
NSDateComponents *dateComponents = [[self gregorian] components:
(NSHourCalendarUnit |
NSMinuteCalendarUnit |
NSSecondCalendarUnit) fromDate:now];
[now release];
NSUInteger hour = 23 - [dateComponents hour];
NSUInteger min = 59 - [dateComponents minute];
NSUInteger sec = 59 - [dateComponents second];
NSString *time = [[NSString alloc] initWithFormat:@"%02d:%02d:%02d",
hour, min, sec];
[[self lblCountDown] setText:
[time stringByReplacingOccurrencesOfString:@"1" withString:@" 1"]];
[time release];
는 나 그냥 그 첫 번째 시간을 계산해야하고 다른 모든 시간은 통화 당 1 초 동기화 그 이후 일초마다 빼기? 나는 이것이 1 초보다 오래 걸릴 것이라고 걱정하지 않는다. 그러나 결과가 다른 방향으로 동일하다면 최적화를하지 않을 이유가 없다. 어쨌든, 그렇게해야 하는가? 그리고 왜?
감사합니다.
나는 두 가지 방법을 사용하고 동일하면 로그를 남겼다. – mk12
합리적인 것 같습니다. 마이크로 콘트롤러 나 다른 것에서 드리프트를 볼 수는 있지만 이와 같은 빠른 장치에서는 볼 수 없습니다. –