次のような単純な時計を実装しました。
- (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 の値を継続的にチェックすると、バッテリーが大量に消費されるようです。どうすればいいですか?