我有一个小计划,它是一个倒计时的计时器,直到午夜,我想知道如果我应该保持原样,计算每秒直到午夜的时间(在每1秒调用一次的NSTimer方法内):iPhone开发 - 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 2009-10-02 02:33:32
似乎合理。你可能会看到微控制器或其他东西的漂移,但不是像这样的快速设备。 – 2009-10-02 21:56:02