2つのタイマーが同じView Controllerで動作しているときに問題があります。最初のボタンがもう一度タップされた後、もう一方が無効化されてからもう一度戻ると、そのうちの1つが起動する必要があります。私は2つの変数を作成しようとしましたが、正常に構築されますが、その動作は不安定です。正しいアプローチは何でしょうか?ありがとう同じView Controllerで2つのタイマーが動作する必要があります。
@IBAction func Start(_ sender: AnyObject) {
timer2.invalidate()
timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(ViewController.update), userInfo: nil, repeats: true)
}
@IBAction func pauseTimer(_ sender: AnyObject) {
timer.invalidate()
timer2 = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: Selector(("increaseTimer")), userInfo: nil, repeats: true)
}
提案していただきありがとうございます。私は自分のアプリのためにそれを使うかもしれない。今私は以下の単純なフリップフロップタイマーコードで何が間違っているのか理解できません。私がそれを走らせると、スレッド1:シグナルSIGABRTのクラッシュ(それは単なる誤った割り当てのケースではない)があります。タイマーを削除した場合2.一時停止は正常に機能します(私の例を編集しました)。ありがとう! –
他の何か私はちょうどあなたのtimer2でセレクタを 'Selector((" increaseTimer "))'に設定しましたが、これは '#selector(ViewController.increaseTimer)'であることに気づいた –
私はこれを試しました。エラーメッセージ: "タイプViewControllerにメンバー 'increaseTimer'がありません" –