gpt4 book ai didi

ios - 切换保存用户首选项

转载 作者:行者123 更新时间:2023-11-30 11:00:11 25 4
gpt4 key购买 nike

我尝试在开关打开时使用 OneSignal 发送标签,并在再次关闭时发送删除标签的请求。

@IBAction func tagGeneral(_ sender: UISwitch) {

if (sender.isOn == true) {
OneSignal.sendTag("General", value: "value")
print("sendtag")
}
else {
OneSignal.deleteTag("General")
print("deletetag")
}
}

这是我使用的代码。似乎有效,但当用户转到另一个页面时,开关会自动关闭...

我该如何解决这个问题?

最佳答案

关于@Ryan的评论,这是一个答案:

首先。有很多方法可以保存用户首选项,我将使用 UserDefaults() |编辑您的按钮操作代码:

@IBAction func tagGeneral(_ sender: UISwitch) {

let userdef = UserDefaults.standard

if (sender.isOn == true) {
OneSignal.sendTag("General", value: "value")
print("sendtag")

// user made the choice
userdef.set(true, forKey: "sw_set")
} else {
OneSignal.deleteTag("General")
print("deletetag")

// reset
userdef.set(false, forKey: "sw_set")
}
}

通常情况下,如果没有这个小函数,这将无法工作,请确保在 viewDidAppear() 中调用此函数:

private func init_switch() {
// Thanks @Vadian for the tip

let userdef = UserDefaults.standard
self.yourSwitch.isOn = userdef.bool(forKey: "sw_set")
}

viewDidAppear()中调用它:

override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)

self.init_switch()
}

如果有帮助请告诉我。

关于ios - 切换保存用户首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53470388/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com