我正在尝试为我正在制作的游戏保存高分。当运行模拟器时,高分可以工作,但是当我再次运行应用程序时,高分重置。
我使用的代码看起来像这样。
let defaults = NSUserDefaults.standardUserDefaults()
var score = Double() // score is established during gameplay
var theHighScore = Double()
func highScoreKeeper(){
defaults.setDouble(score, forKey: "highScore")
let highScore = defaults.doubleForKey("highScore")
defaults.synchronize()
theHighScore = highScore
println(theHighScore)
println(defaults.doubleForKey("highScore"))
}
两个println语句都会为该会话打印相同(正确)的高分,但重置模拟器后,高分会重置。代码有问题吗?或者这是模拟器的行为总是如何?如果是后者,有什么方法可以测试高分管理员确认它是否正常工作?