Objective-Cで残り時間の計算
ある時間からの経過時間なら割りと簡単にできても、残り時間はちょっと面倒かも。
手っ取り早い方法でサクッと実装した。
●残り時間30秒の状況を想定したとき
- ある時間にスタートする。その時間+30秒の時間をendTimeに入れておく。
- 現在時刻からendTimeまでの時間をremainTimeとして表示する
これだけ。
ただし時間の幅を持たせるオブジェクトにはNSTimeIntervalというまた別の専用のモノを使う必要がある。
.h
NSDate *endTime NSTimeInterval remainTime;
.m内の適切なメソッドにそれぞれ
// endTimeをセット [endTime release]; endTime = [[NSDate dateWithTimeIntervalSinceNow:30.0f] retain];
// 残り時間の計算
remainTime = [endTime timeIntervalSinceDate:[NSDate date]];
終わり。
追記
NSTimeInterval *remainTime;
を
NSTimeInterval remainTime;
に修正しました。
前のままだとエラーが出てしまいました。