日付から日、時間、分、秒を計算し、ビュー/ページでリアルタイムで増加するタイマーを表示しようとしています。
最善のアプローチは何ですか?
あなたはこのようにすることができます: -
- (void)viewWillAppear:(BOOL)animated
{
[self start];
[super viewWillAppear:YES];
}
int currentTime;
- (IBAction)start{
currentTime = 0;
lbl=[[UILabel alloc]init];
//creates and fires timer every second
myTimer = [[NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(showTime) userInfo:nil repeats:YES]retain];
}
- (IBAction)stop{
[myTimer invalidate];
myTimer = nil;
}
- (IBAction)reset{
[myTimer invalidate];
lbl.text = @"00:00:00";
}
-(void)showTime{
currentTime++; //= [lbl.text intValue];
//int new = currentTime++;
int secs = currentTime % 60;
int mins = (currentTime / 60) % 60;
int hour = (currentTime / 3600);
int day = currentTime / (60 * 60 * 24);
lbl.text = [NSString stringWithFormat:@"%.2d:%.2d:%.2d:%.2d",day,hour, mins, secs];
NSLog(@"my lable == %@",lbl.text);
NSLog(@"my lable == %@",lbl.text);
}
最善の方法は、日付と時刻のプログラミング ガイドを読んでNSDate
、、、NSCalendar
およびNSDateComponents
クラスの使用方法を学習することです。