0
UIボタンをクリックしてタイマーをリセットして一時停止させたいのですが、タイマーを「リセット」するときに問題があります。誰も助けることができますか?時間を開始し、リセットしてから再開すると、update funcが複数回呼び出され、カウントダウンが終了します。timer.invalidate()を使用せずにタイマーをリセット&一時停止する方法
@IBAction func startTimer (_ sender: AnyObject) {
var timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: Selector("update"), userInfo: nil, repeats: true)
Reset.isHidden = false
StartButton.isHidden = true
}
@IBAction func resetButton (_ sender: AnyObject) {
Reset.isHidden = true
StartButton.isHidden = false
count = 200
invalidate.t
}
func update() {
if (count > 0) {
let minutes = String(count/60)
let seconds = String(count % 60)
if (seconds == "0") {
CountDown.text = minutes + ":" + seconds + "0"
} else {
CountDown.text = minutes + ":" + seconds
}
count -= 1
}
}
ありがとうございました! "解決されていない識別子 'timer'の使用 – Andrew
タイマーをクラス内のインスタンス変数にして、他の場所からアクセスできるようにする必要があります。 –
これは素早く、私は個人的な印がついていない限りどこでも変数にアクセスできたと思いましたか? – Andrew