経過した時間をリアルタイムに表示する
iOSで、ある時点からある時点までの経過した時間を調べる方法。
NSTimerクラスを使います。
http://iphone-tora.sakura.ne.jp/nstimer.html
方法は簡単で、NSTimerを使ってある地点の時間から、
経過した秒数を計算して表示するだけ。
たとえばこんな感じで。
xxx.h NSDate startDate_; NSTimer timer_; -(void)onTimer:(NSTimer*)timer;
{ ... timer_ = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(onTimer:) userInfo:nil repeats:YES]; startDate_ = [[NSDate date] retain]; } -(void)onTimer:(NSTimer*)timer { float second = [[NSDate date] timeIntervalSinceReferenceDate:startDate_]; }
これでsecondにはstartDate_からの経過秒数がミリ秒単位で入るはずなので
それを加工していろいろ利用すればよさげ。
この辺のプログラムを作ってる時に、何で時刻表示とかに直すクラスを
わざわざ探していたのか、自分の馬鹿さ加減にへこみたくなるけど
時/分/秒とかの単位で表示したい場合は、普通に60で割るなり、あまり出せばOKです。
表示する部分のソースも省略してますが、
まぁ、計算して秒数が1秒増えたら画面上のUILabelの内容を変更するとかで行けるはず。