我正在使用Swift进行游戏。我想使用NSUserDefaults为用户节省高分。我知道如何在AppDelegate文件中创建新的NSUserDefaults变量:

let highscore: NSUserDefaults = NSUserDefaults.standardUserDefaults()

但是,如何在我的 View Controller 中设置/获取它呢?

最佳答案

首先,NSUserDefaults是一个字典(我认为是NSDictionary)。每个应用程序都有其自己的用户默认值,因此您无法从任何其他应用程序访问用户默认值。

如果用户(玩游戏的用户)创造了新的高分,则您必须像这样保存该高分:

let highscore = 1000
let userDefaults = NSUserDefaults.standardUserDefaults()
userDefaults.setValue(highscore, forKey: "highscore")
userDefaults.synchronize() // don't forget this!!!!

然后,当您想获得用户获得的最佳高分时,您必须像这样从字典中“读取”高分:
if let highscore = userDefaults.valueForKey("highscore") {
    // do something here when a highscore exists
}
else {
    // no highscore exists
}

关于ios - Swift-使用NSUserDefaults保存高分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25269686/

10-13 04:00