在多个应用程序启动期间保存数据

Saving data throughout multiple app launches

我是新手开发者,刚刚发布了一款应用。我正在尝试向我的应用程序添加一项功能,当他们进入设置并禁用音频时,我不希望存储该数据并且每次都禁用音频。知道如何做到这一点吗?

只需要一个基于开关的布尔变量。然后使用UserDefaults来存储数据。

var audioDisabled = true
UserDefaults.standard.set(audioDisabled, forKey: "audioDisabled")

上面代码中的变量是基于用户是打开还是关闭音频。然后我通过 UserDefaults 将它设置为存储,即使在应用程序关闭后它也会保留值。关键在于您将如何访问存储的值。

如果您想在用户打开应用时检索该数据,请使用

audioDisabled = UserDefaults.standard.object(forKey: "audioDisabled") as? Bool ?? true 

你也可以在??后面做false如果默认选项是无音频。如果用户进入设置并配置音频设置,我只是将默认设置为 true

在这里,我使用上面设置的键值。我告诉程序,如果存储值存在,它将以 Bool 的形式存在,如果不存在,则 audioDisabled 将被设置为 true

希望对您有所帮助