Swift: 跟踪用户的分数

Swift: Tracking User's score

我正在尝试创建一个由两个按钮(假按钮和真按钮)组成的测验应用程序。我的问题是,当我在应用程序中回答更多问题时,我希望 textLabel 跟踪我的分数。然后当我再次回到第一个问题时,它应该会重置。到目前为止,这是我的代码。我期待着您的回答。

class ViewController: UIViewController {
    
    @IBOutlet weak var questionLabel: UILabel!
    @IBOutlet weak var progressBar: UIProgressView!
    @IBOutlet weak var trueButton: UIButton!
    @IBOutlet weak var falseButton: UIButton!
    @IBOutlet weak var scoreLabel: UILabel!
    
    
    var quizBrain = QuizBrain()
    
    override func viewDidLoad() {
        
        super.viewDidLoad()
        updateUI()
        progressBar.progress = 0.0
    }
    
    @IBAction func answerButtonPressed(_ sender: UIButton) {
        
        let userAnswer = sender.currentTitle
        let userGotItRight = quizBrain.checkAnswer(userAnswer!)
        
        if userGotItRight {
            sender.shortChangeTo(.green)
        } else {
            sender.shortChangeTo(.red)
        }
        
        quizBrain.nextQuestion()
        
        DispatchQueue.main.asyncAfter(deadline: .now() + 0.1) {
            self.updateUI()
            
        }
    }
    
    
    func updateUI() {
        

        questionLabel.text = quizBrain.getQuestionText()
        
        trueButton.backgroundColor = UIColor.clear
        falseButton.backgroundColor = UIColor.clear
        
        progressBar.progress = 33
        
        scoreLabel.text = "Score: \(quizBrain.getScore)"
        
    }
}

您还没有任何代码?您可以创建一个像 user

这样的结构
struct user {
var score: Int = 0
mutating func answerRight (){
self.score =+ 1 }

mutating func reset (){
self.score = 0 }

}

但我在您的代码“分数:(quizBrain.getScore)”中看到了这一点 这表示 quizBrain 应该知道分数。但是你永远不会给它添加一个值所以检查你的 quizBrain 并创建一个可以跟踪分数的函数或对象,然后在这里调用它“if userGotItRight {}”