私のコードを3回チェックしてエラーを見つけることができませんでしたが、出力に間違った答えが表示されています。このコードは簡単な追加ゲームテスターです。次のSWIFTプログラムの出力でエラーが発生しました
import UIKit
class ViewController: UIViewController {
var score = 0
var firstNumber: Int?
var secondNumber: Int?
var answer: Int?
var input: Int?
var count = 0
@IBOutlet weak var lblTitleLabelOUTLET: UILabel!
@IBOutlet weak var lblEquationOUTLET: UILabel!
@IBOutlet weak var txtAnswerFieldOUTLET: UITextField!
@IBOutlet weak var btnCheckAnswerOUTLET: UIButton!
@IBOutlet weak var lblScoreDisplayerOUTLET: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
displayQuestion()
}
@IBAction func pressedCheckedAnswerButtonACTION(sender: UIButton) {
if (input == answer){
score = score + 1
lblScoreDisplayerOUTLET.text = "Your score is \(score) out of \(count) "
}
else{
lblScoreDisplayerOUTLET.text = "Incorrect ans "
}
displayQuestion()
}
func displayQuestion() {
firstNumber = Int(arc4random_uniform(10))
secondNumber = Int(arc4random_uniform(10))
lblEquationOUTLET.text = String(firstNumber!) + " + " + String(secondNumber!) + " = "
answer = firstNumber! + secondNumber!
input = Int(txtAnswerFieldOUTLET.text!)
lblTitleLabelOUTLET.text = String(input)
count = count + 1
}
}
で表示しようとしています。しかし、それがどう働いているかを明示的に説明することができますか助けてくれてありがとう –
すべてがタイミングと関係しています。あなたがそれをコード化したやり方では、質問が表示されたときに変数 'input'が計算されました。これは早すぎます。ユーザーが答えを入力してボタンを押すまで待つ必要があります。私の変更で、ユーザーが答えを入力してボタンを押した後に、「入力」が割り当てられます。 – vacawama