ios - Swift - 使用 NSUserDefaults 保存高分

标签 ios xcode uiviewcontroller swift nsuserdefaults

我正在使用 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/

相关文章:

ios - 有人可以向我解释 initWithNibName 在 iOS 中的用法吗?

ios - ScrollView 无法正确调整大小

ios - 如果语句没有按预期工作

ios - 视频作为 openGLES 的纹理

C++ 调用 getenv ("LINES") 或 getenv ("COLUMNS") 在 Xcode 中运行良好,在终端中运行时出现段错误

ios - NSUserDefaults 与应用内设置包

ios - Xcode/iOS模拟器中的不同 Storyboard

ios - 呈现 UIImagePicker 时添加新窗口

ios - 如何清除json中的双引号?

iphone - UIView 应该是透明的但只显示白色