gpt4 book ai didi

ios - 在 Swift 3 的 UserDefaults 中记录 UISwitch 状态的最佳方法是什么

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:31 28 4
gpt4 key购买 nike

我的( future )应用程序中有一个设置 View ,带有 4 个 UISwitch。我想使用 UserDefaults 类来记录开关状态。

我创建了一个具有 4 个属性(键)的结构“SettingsKey”来保存每个开关状态:

struct SettingsKeys {
static let appShowContactsPhoto = "app.showContactsPhoto"
static let appShowAge = "app.showAge"
static let widgetShowContactsPhoto = "widget.showContactsPhoto"
static let widgetShowAge = "widget.showAge"
}

为了加载数据,我在“viewDidLoad”方法中为 SettingsKeys 中的 4 个属性使用了 4 个“UserDefaults.standard.bool(forKey: key)”。

保存数据的最佳方式是什么?我不想在我的 View Controller 中创建 4 个 Action (每个开关一个“valueChanged” Action ),所以我只创建了一个。但是如何将每个 UISwitch 映射到正确的“SettingsKey”属性呢?我想要一个通用代码(一条指令?),我不希望我的代码是这样的:

if sender = switch1 then record data with this key
else if sender = switch2 then record data with this key
else if ...

也许用 UIView 标签?

谢谢。

最佳答案

你可以试试这样的东西

@IBAction func changeSettings(_ sender: UISwitch) {

switch sender.tag {
case 1:
// Change for switch1

break
case 2:
// Change for switch2

break
case 3:
// Change for switch3, etc
break

default:
print("Unknown Switch")
return
}

}

您可以设置标签(用于识别您的 View /开关的唯一编号)。

(在上面的例子中,每个开关分别为 1、2、3)。

关于ios - 在 Swift 3 的 UserDefaults 中记录 UISwitch 状态的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40381703/

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