我已经实现了一个简单的时钟,如下所示:
- (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 的值似乎很耗电。我该怎么做?