我正在设计一个应用程序(iOS),我试图使用UserDefaults(Swift 3,Xcode 8.3.3)。我以前添加了一些键和值工作正常。用户默认值不注册新密钥?
但是,当我添加了更多的按键时,旧的按键仍在工作,但新按键不起作用。特别是,每当我试图阅读它们时,新密钥都返回0。
我已经搜索了谷歌和SO的年龄,仍然无法找到我要去哪里错了。
请帮忙!
在AppDelegate.swift
func applicationDidFinishLaunching(_ application: UIApplication) {
let d = UserDefaults.standard
let defaultValues = ["highScore" : 0,
"second" : 0,
"third" : 0,
"balls" : 0,
"maxLives" : 5,
"increaseML" : 250]
d.register(defaults: defaultValues)
}
在MenuScene.swift(定制类)
var maxLives = defaults.integer(forKey: "maxLives")
var increaseML = defaults.integer(forKey: "increaseML")
出于某种原因,increaseML
和maxLives
正在返回0,即使我设置它们的值分别为250和5。
为什么会发生这种情况,我该如何解决这个问题?
你肯定没有被默认保存这些键? –
除'maxLives'和'increaseML'之外的所有内容都保存为默认值。所有其他人工作正常。 – Adi219
根据关于'applicationDidFinishLaunching(_ :)'的苹果文档,不应该使用该方法。改为使用 'application(_:didFinishLaunchingWithOptions:)'。 – paper1111