私は単純なクイズアプリを作成しました。このクイズアプリは、ユーザーが回答した質問の数を数え、別のビューのラベルに入れます。問題は、ユーザーが最後の質問(配列)に正しく答えると、それは他の質問と同じようにカウンターにカウントアップされず、ビューを切り替えるだけです。 最後の質問に正しく答えられた場合、次のビューで4を正しく表示する代わりに、3が表示されます。 まだ分かりません。どんな助け? マイコード:配列内の最後の要素はゼロです
func pickQuestion(){
if questions.count > 0{
qNumber = random() % questions.count
questions.shuffleInPlace()
qLabel.text = questions[qNumber].question
answerNumber = questions[qNumber].answer
for i in 0..<buttons.count{
buttons[i].setTitle(questions[qNumber].answers[i], forState: .Normal)
}
questions.removeAtIndex(qNumber)
}
else {
NSLog("done")
self.performSegueWithIdentifier("Segue1", sender: self)
}
}
私は答えが正しいかどうかを確認するボタンのコード、:
@IBAction func btn1(sender: AnyObject) {
if answerNumber == 0 {
pickQuestion()
count += 1
}
else {
NSLog("Wrong")
pickQuestion()
}
}
私は questions.removeAtIndex(qNumber) があることが判明デバッグのビットの後配列を削除するもの(removeAtIndexは、すでに回答があったときに質問が再び表示されるのを防ぐために使用されます)
私はqNumberを次のように宣言しています:
qNumber = random()%questions.count
答えた後に削除される現在の配列としてqNumberを設定するにはどうすればよいですか?私は、ビューを切り替えています
:最後の質問を表示した後、他の
{
NSLog("done")
self.performSegueWithIdentifier("Segue1", sender: self)
}
関連性はありませんが、「変数名」つまり「camelCase」の迅速なコード規約に従ってください。すべての変数は大文字で始まっています。つまり、AnswerNumber、QNumberなどです。 –
答えが正しいときにコードを追加して、カウンタの値を増やすことができます。私はあなたが正しいポイントのカウンターに追加していないだけで、カウンターを増やすものを呼び出す前にビューを切り替えると思っています – Nik
質問を表示するためにコードを貼り付けましたが、答えを評価するためではありません – Shades