gpt4 book ai didi

Swift:高分/NSUserDefaults

转载 作者:行者123 更新时间:2023-11-30 10:20:20 25 4
gpt4 key购买 nike

我对 NSUserDefaults 有疑问。

我遵循史蒂夫的回答: Saving highscores with NSUserDefaults

现在,我遇到了一个问题。当我的 GameScene 即将结束时,在初始化到 GameOverScene 的传输之前,我执行以下操作:

    if scene.score > Score.highScore {
var defaults = NSUserDefaults()
defaults.setInteger(scene.score, forKey: "highScore")
println("score1, highscore1")
println(scene.score)
println(Score.highScore)
}

你可以看到我将游戏场景得分与最高分进行比较,然后将最高分的整数设置为该玩家获得的场景得分。然而,程序正确地打印出了当前分数,而 highScore 保持不变,为 0。在我尝试做之前:

Score.HighScore = scene.score // changing Score.HighScore to the scene.score manually. 

不幸的是,没有成功。这是完整的 HighScore 类,用于处理保存和检索高分: http://pastebin.com/dz3b3WAk

感谢任何帮助。

编辑:或者也许,有人知道将某些内容保存到 NSUserDefaults 的更简单的解决方案,而不需要那么复杂?

最佳答案

史蒂夫在该相关问题中的回答根本不使用 NSUserDefaults,而是从应用程序文档目录中的“highScore.archive”文件存储中存档和检索高分。

您提出的任何解决方案都应该忘记用户默认值,而依赖于您实例化的 HighScore 对象(该对象加载并保存到 highScore.archive 文件中)。

关于Swift:高分/NSUserDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27089189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com