簡體   English   中英

以下 SWIFT 程序的輸出錯誤

[英]Error in the output of the following SWIFT program

我已經檢查了我的代碼三次,但沒有發現任何錯誤,但我的輸出顯示了錯誤的答案。 該代碼是簡單的添加游戲測試器。

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 您需要將該代碼移到pressedCheckedAnswerButtonACTION的頂部。

@IBAction func pressedCheckedAnswerButtonACTION(sender: UIButton) {
    input = Int(txtAnswerFieldOUTLET.text!)

    if input == answer {
        score = score + 1
        lblScoreDisplayerOUTLET.text = "Your score is \(score) out of \(count) "
    }
    else {
        lblScoreDisplayerOUTLET.text = "Incorrect ans "
    }
    displayQuestion()
}

從原始代碼開始,如果僅將displayQuestion()放在viewDidAppear而不是viewDidLoad上將起作用。 這是因為在viewDidLoad沒有在屏幕上創建標簽,因此您試圖通過viewDidLoad input = Int(txtAnswerFieldOUTLET.text!)訪問其值input = Int(txtAnswerFieldOUTLET.text!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM