【问题标题】:Saving and Loading Up A Highscore Using Swift使用 Swift 保存和加载高分
【发布时间】:2015-01-04 09:26:29
【问题描述】:

我正在尝试制作高分视图。我将分数和高分加载并比较两者,看看是否应该将分数设置为新的高分。当分数为负数时,它工作正常,但当数字为正数但小于当前高分或大于高分时,它似乎将两个数字加在一起。它似乎也从两者中减去 1?我不太确定发生了什么。感谢您的帮助!

高分视图viewDidLoad(视图唯一代码):

override func viewDidLoad() {

    //Load Score
    let defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
    var score = defaults.valueForKey("Score")?.integerValue ?? 0
    defaults.synchronize()
    Score = score

    //Load Highscore
    let SecondDefaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
    var highscore = SecondDefaults.valueForKey("Highscore")?.integerValue ?? 0
    SecondDefaults.synchronize()
    Highscore = highscore

    //Set Score Text
        ScoreString = String(Score)
        Scorelabel.text = ScoreString

    //Update Highscore if Score is bigger
   if Score > Highscore {

        //Set Highscore to Score
        Highscore += Score

        //Save Highscore
        let SecondDefaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()
        SecondDefaults.setObject(Highscore, forKey: "Highscore")
        SecondDefaults.synchronize()

        //Set Highscore Text
        HighscoreString = String(Highscore)
        HighscoreLabel.text = HighscoreString

        NewHighscoreLabel.text = "New Highscore"
    }
   //Set Highscore Text if Score is smaller
   else if Highscore >= Score {
    HighscoreString = String(Highscore)
    HighscoreLabel.text = HighscoreString
    }
}}

【问题讨论】:

  • 它不会修复错误(尽管它可能导致它)但您应该始终坚持lowercaseVariableNames,而不是混合和匹配(您是否使用UppercaseVariableNames作为成员变量?)。这里有一个名为Score 的变量和另一个名为score 的变量。这是自找麻烦。 Swift 的标准是命名类型以大写开头,变量以小写开头。因为你不能给类型赋值,所以你不能不小心把一个变量的类名打错了,但是你可以把一个变量打错另一个。

标签: ios swift nsuserdefaults


【解决方案1】:

问题在于这段代码:

Highscore += Score

您正在添加 HighScoreScore,然后分配回 HighScore。将其更改为:

Highscore = Score

【讨论】:

  • 我的愚蠢错误。不管怎么说,还是要谢谢你。我会在几分钟内将其标记为正确。
猜你喜欢
  • 1970-01-01
  • 2014-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多