ストップウォッチアプリ03〜stopボタンとclearボタン実装

前回は、startボタンを押すとタイマーが開始する部分まで実装して、タイマー機能の基本動作を確認しました。

今回は下記2つのボタン動作を実装します。

2.stopを押す

    • => stopを押したタイミングでカウントアップを止め、そのときのカウントの値を表示する

3.clearを押す

    • => カウンターの表示を0に戻す

概要

  • stopを押すと、グローバルフラグをFALSEにする
    • これにより0.001秒ごとのラベル更新を止め、見かけ上カウントアップを止めたように見える
  • clearを押すと、グローバルフラグをFALSEにすると同時に、ラベルの表示を0.000に書き換える
    • 0.001秒ごとのラベル更新を止めると同時にラベルを0.000に書き換えることで、見かけ上カウントアップが止まり、カウンターが初期化されたように見える

ソース

前回のソースに下記追加。
.m

- (IBAction)clear_down:(id)sender {
    timeflg = FALSE;
    self.lbl.text = @"0.000";
}

- (IBAction)stop_down:(id)sender {
    timeflg = FALSE;
}

問題点

stopボタン押下後、再度startボタンを押しても止めた時間からの再スタートができない。
再スタートできるようにするためには、stop押下時の値を保持しておいて、再スタート&再ストップ後にその値を足す方法があるとのこと。
もとまかさんのページのコメント欄参照)

次回

値の保持、リスタート、リストップができるようにする。