0
タイマーを開始するために1つのボタンによってトリガーされるタイマーを作りたい。タイマーが実行されているとき、私はタイマーを一時停止する同じボタンが必要です。開始/一時停止トグルボタンでタイマーが始まらない
私は主にボタンのラベルのIBAction以内にこの動作を扱う:
@IBAction func btn_start(_ sender: Any) {
if timerIsRunning == false {
timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(runTimer), userInfo: nil, repeats: true)
timerIsRunning = true
}
if timerIsRunning == true {
timer.invalidate()
timerIsRunning = false
}
}
私はタイマーが高速化されたように、私はスタートボタンを数回をトリガーすることができ、タイマーもseveralt回トリガされたことを認識
最後にこの動作を防止するために 私はtimerIsRunning導入:タイマーはもう起動しないことを、予想外の結果とブール値を: - これはタイマーによってトリガーされた私のタイマー機能である/
:
func runTimer() {
if timeInSeconds >= 0 {
timeInSeconds = timeInSeconds - 1
updateTimerLabel()
}
}
ことができます誰もこれを説明する?私に救いの手を差し伸べる?
'timerIsRunning =はtrue。もしtimerIsRunning == true'ならばね。 – matt
@mattどういう意味ですか?説明できますか? – boehmatron
彼は私が基本的に私の答えで書いたことを意味し、あなたは変数を 'true'に設定し、次のステートメントではその値をtrueとチェックします。 – luk2302