[英]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.