首先,让我说这不是投诉,我只是想了解该register(defaults: [])
方法的工作原理。
我在register(defaults: [])
方法内使用UserDefaults 方法didFinishLaunchingWithOptions
注册所有UseDefault键的默认值,一切工作正常。
我的问题是,为什么register(defaults: [])
每次didFinishLaunchingWithOptions
调用该方法时都不重置该方法中的值?
我不想让他们休息,我只是想了解原因。
我有以下代码...
func application(...didFinishLaunchingWithOptions...) -> Bool {
UserDefaults.standard.register(defaults: [
keyUserName:"",
keyHasCar:false
])
}
Run Code Online (Sandbox Code Playgroud)
这就是为什么我的困惑是,当应用程序运行时,它会按预期方式保存默认值,然后,如果稍后在应用程序中的某个位置修改了这些值,并且在该应用程序被杀死并重新启动后立即didFinishLaunchingWithOptions
被再次调用,但这些值确实不会重置,但是如果我向阵列添加新密钥,它会被保存,但是其余密钥不会重置,只会添加具有默认值的新密钥。
同样,我不希望重置值,我只需要了解register
方法是如何工作的。