Swift:为什么不正确地更新高分?

时间:2016-09-08 03:52:37

标签: ios swift swift2 nsuserdefaults

我真的被困......任何帮助都表示赞赏!!

由于某种原因,高分不会更新。例如,高分将是9,然后在完成后,得分和高中将是例如5,当高分应该是9.我认为这是因为当前得分没有被比较保存的高分,并且是而是将它与var highscore = 0中的值0进行比较。我知道高分数正在被保存,因为即使在应用程序关闭后它也会显示,所以我不明白为什么它不会将保存的值与当前分数进行比较。

这是我的代码:

var toSend = Int()
var highScore = 0

override func viewDidLoad() {
    super.viewDidLoad()
    let highScoreDefault = NSUserDefaults.standardUserDefaults()


    if toSend > highScore
    {
        highScore = toSend
        highScoreDefault.setValue(highScore, forKey: "Highscore")
        highScoreDefault.synchronize()
    }

    if highScoreDefault.valueForKey("Highscore") != nil {
        highScore = highScoreDefault.valueForKey("Highscore") as! NSInteger!
    }


    score.text = "Your Score: \(toSend)"
    highScorer.text = "Your High Score: \(highScore)"
    // Do any additional setup after loading the view.
}

1 个答案:

答案 0 :(得分:2)

只需交换“if”语句并检查:

{{1}}