我正在使用swift 5中的settings.bundle,我想观察默认设置的变化,并在不重新启动的情况下更新应用程序--最好的方法是什么?
UserDefaults.standard.register(defaults: ["String" : "Any"])
let defaultValues1 = ["btn1_name": "Name your Btn 1"]
UserDefaults.standard.register(defaults: defaultValues1)
let btn1value = ["btn1_onoff": true]
UserDefaults.standard.register(defaults: btn1value)
let defaultValues2 = ["btn2_name": "Name your Btn 2"]
UserDefaults.standard.register(defaults: defaultValues2)
let btn2value = ["btn2_onoff": true]
UserDefaults.standard.register(defaults: btn2value)发布于 2020-09-20 10:57:28
将此代码添加到ViewController中:
NotificationCenter.default.addObserver(self, selector: #selector(settingChanged(notification:)), name: UserDefaults.didChangeNotification, object: nil)
}然后使用以下内容创建一个@objc func:
@objc func settingChanged(notification: NSNotification) {
let userDefaults = UserDefaults.standard
let btn1settings = userDefaults.bool(forKey: "btn1_onoff")
if !btn1settings {
btn1.isHidden = true
btn1_label.isHidden = true
btn1_count.isHidden = true
}
else {
btn1.isHidden = false
btn1_label.isHidden = false
btn1_count.isHidden = false
}
let btn1name = userDefaults.string(forKey: "btn1_name")
btn1_label.text = btn1name这将在“应用程序设置”中更新设置时更新应用程序
https://stackoverflow.com/questions/63894625
复制相似问题