在多个应用程序启动过程中保存数据[重复]
Posted
技术标签:
【中文标题】在多个应用程序启动过程中保存数据[重复]【英文标题】:Saving data throughout multiple app launches [duplicate] 【发布时间】:2020-05-19 01:17:32 【问题描述】:我是第一次开发人员,刚刚推出了一个应用程序。我正在尝试向我的应用程序添加一项功能,当他们进入设置并禁用音频时,我不想存储这些数据并且每次都禁用音频。关于如何做到这一点的任何想法?
【问题讨论】:
【参考方案1】:只要有一个基于开关的布尔变量。然后使用 UserDefaults 来存储数据。
var audioDisabled = true
UserDefaults.standard.set(audioDisabled, forKey: "audioDisabled")
上面代码中的变量是基于用户是打开还是关闭音频。然后我通过 UserDefaults 将其设置为存储,即使在应用程序关闭后也会保存值。关键是您将如何访问存储的值。
如果您想在用户打开应用时检索该数据,请使用
audioDisabled = UserDefaults.standard.object(forKey: "audioDisabled") as? Bool ?? true
你也可以在 ??如果默认选项是无音频。如果用户进入设置并配置了音频设置,我只是将默认设置为 true
在这里,我使用上面设置的键的值。我告诉程序,如果存储的值存在,它将采用 Bool 的形式,如果不存在,则 audioDisabled
将设置为 true
希望对你有帮助
【讨论】:
这很有帮助,但是如何根据开关设置变量? 将开关连接到您的代码,就像它是一个按钮一样(将连接设置为操作,将类型设置为 UISwitch)。然后,在 switch 方法下方(当切换开关时)执行 if 语句以查看开关是否打开(如果 sender.isOn 将 audioDisabled 设置为 false else 将 audioDisabled 设置为true // 然后在 if 语句中设置变量后执行 UserDefault)以上是关于在多个应用程序启动过程中保存数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章