NSTimerの概念。

カウントダウンタイマーを付けたい。
タイマーを使うにはNSTimerを使うらしい。

参考にしたサイト
【iOS】タイマー(NSTimer)を実装:iPhoneアプリ内にカウントダウンタイマーを実装する | 日本VTR実験室
iOS 7 でカウントダウンタイマーを実装する – Qiita

はじめ、NSTimer自体が一定時間ごとにカウントアップしたり、カウントダウンしたりするものだと思っていた。
しかしながら、色々とサイトを見ていると、NSTimer自体は一定時間ごとにアクションを起こす為の物とわかった。

概念を理解するのに思い込みは大敵だ。

サンプルコード

重要なのは

ここの部分。
これが呼び出されるとタイマーがスタートする。
viewDidLoadメソッドに入れておけば表示とともにカウントがスタートする。

こちら
【iOS】時間を指定して処理をする場合はNSTimerを使う | AdMax Tech Blog
に書いてあるように

ある画面に何分以上いたら「シェアしてよ」のアラートを出す
ある一定時間同じ画面にいたら画面描画を変える

などの場合には良さげです。

このサンプルコードの場合は起動したらすぐにNSTimerが作動し、1秒毎にupdateメソッドが呼び出されラベルの数値が書き換えられて0になると止まる。

NSTimerは設定時間ごとにメソッドを呼び出すだけなのでカウントダウンや、タイマーなどの仕組みは呼び出されるメソッド側で考えなければならない。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です