Я реализовал простые часы примерно так:
- (void)runTimer {
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(showActivity)
userInfo:nil
repeats:YES];
}
- (void)showActivity {
NSDateFormatter *df = [[[NSDateFormatter alloc] init] autorelease];
NSDate *date = [NSDate date];
[df setDateFormat:@"HH:mm"];
[clock setFont:digitalFont];
[clock setText:[df stringFromDate:date]];
}
В основном это просто задача, которая запускается каждую секунду, чтобы обновить время в UILabel. А что если я бы хотел расширить эти часы, чтобы они реагировали на определенные моменты времени, как будильник?
Непрерывная проверка значения NSDate, похоже, расходует заряд батареи. Как бы я это сделал?