2017-08-13 10 views
0

私はクイズアプリを作成しました。ユーザーが10個の質問を完了すると、ボタンが隠れて次のボタンに移動します。私は最近、カウントダウンタイマーを追加して動作しますが、テストが終了するとタイマーは続行され、クイズを終了するとそのタイマーを無効にする方法を見つけたいと考えています。だから、彼らはすでにそれを完了したときに再試行ページに連れて行くことはありません。それが理にかなってほしい!XCode 8で機能を無効にするにはどうすればいいですか?

更新タイマコード

internal func updateTimer() 
{ 

    counter = counter - 1 
    if(counter > 0) 
    { 
     ibCounter.text = String(counter) 
    }else{ 
     self.performSegue(withIdentifier: "Segue13", sender: nil) 
    } 
} 

タイマーコード。

timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(cricketTest1View.updateTimer), userInfo: nil, repeats: true) 

これは私があなたのクイズが完了したときにユーザーが使用timer.invalidate()クイズ

func PickQuestion(){ 

     if Questions.count > 0{ 
      QNumber = 0 
      QuestionLabel.text = Questions[QNumber].Question 

      AnswerNumber = Questions[QNumber].Answer 

      for i in 0..<Buttons.count{ 

       Buttons[i].setTitle(Questions[QNumber].Answers[i], for: UIControlState()) 

      } 

      Questions.remove(at: QNumber) 
     } 
     else{ 

      QuestionLabel.text = "YOU HAVE COMPLETED THE QUIZ" 
      Button1.isHidden = true 
      Button2.isHidden = true 
      Button3.isHidden = true 
      Button4.isHidden = true 
      NextQuiz.isHidden = false 
      Start.isHidden = true 
      ibCounter.isHidden = true 
     } 
} 

答えて

0

を完了したときのためにコードを入れ部分です。

あなたのコードに従って他の部分に入れてください。

+0

本当にありがとうございました! –

+0

ちょうどやった、私はそれが今までそこにあったことを認識していない! –

+0

@Sethもし問題がなければ、それをアップしてください。あなたはそれをupvotedしていない。 –

0

右クイズが終了したことを示すこれらの行の下に、あなたはタイマーを停止したい:

QuestionLabel.text = "YOU HAVE COMPLETED THE QUIZ" 
    Button1.isHidden = true 
    Button2.isHidden = true 
    Button3.isHidden = true 
    Button4.isHidden = true 
    NextQuiz.isHidden = false 
    Start.isHidden = true 
    ibCounter.isHidden = true 

あなたはTimerのdocsを見た場合、あなたは方法を見つけることがinvalidateと呼ばれる:

タイマーの再起動を停止し、実行ループからの削除を要求します。

これは、あなたが呼び出す必要があり、正確な方法:

timer.invalidate() 
+0

すごくおかげさまで! –

+1

@Seth私の答えがあなたの質問に答えると思うなら、そのチェックマークをクリックすることでそれを受け入れることを検討してください! – Sweeper

+0

ちょうど、私は今までそこにボタンがあったことを知らなかった! –

関連する問題