ゆうまのアプリ開発

アプリ開発(主にiOSアプリ)に関する情報をアウトプットしているブログです。

【Swift5】タイマーで時間をカウントする

(1) 残り時間(経過時間)を表す変数を宣言
(名前は場面に合わせて設定しましょう。ここではcountとします。代入する数字はなんでもいいです。)

var count = 30

(2) タイマーを実行したい場所に以下のコードを書く

Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(updateCount), userInfo: nil, repeats: true)

引数の説明

引数名 説明 ヒント
timeInterval タイマーが実行されるまで(updateCountが実行されるまで)の時間(秒) repeatsがtrueの場合は実行間隔
target タイマーが実行された時のメッセージの送信先 ここではselfで良い。
selector タイマーが実行された時に送るメッセージ ここでは#selector(updateCount)で関数updateCountを実行してくださいというメッセージを表す
userInfo タイマーのユーザー情報。 これはnil(空)で良い
repeats タイマーを繰り返すかどうか。(trueかfalse) カウントダウンタイマーやストップウォッチのようなものを作る場合はtrueで良い。

(3) 関数updateCountを作成

@objc func updateCount() {
        // ここにtimeInterval毎に実行したい処理を書く
        // 例えばcountから1を引いてカウントダウン
            count -= 1
        // countが0になったら完了!と表示
            if count <= 0 {
                print("完了!")
            }
}