私はタイマーでゲームを再開しようとしていますが、ビューを終了して復帰するたびに、タイマーは重複して速くなります。私はTimer?.isValid
関数でこれを対処しようとしましたが、無効なときにタイマーを実行するだけなので重複はしませんが、タイマーがチェックされていないようです。ifステートメントに無効があります。タイマーが動作しているかどうかをチェック
if (myTimer?.isValid){
} else{
//start timer
}
任意の助けをいただければ幸いです、ありがとう:
これは私がこれまで使用してきたif文です。あなたのTimer
インスタンスisValid
(ないTimer
クラス)かどうかを確認する必要があり
あなたは 'viewWillAppear'でタイマーを開始していますか?より多くの情報が役立ちます。 – Mike
タイマーを再割り当てするかnilに設定しても、タイマーは無効になりません。タイマーを(たとえば 'viewDidLoad'のように)一度設定して、必要がなくなったら無効にします。 – FryAnEgg