我遇到有关开关按钮默认值的问题。如果未使用开关按钮,Xcode会给出错误“在展开可选值时意外发现nil”。如果未使用切换按钮,我需要将默认值设置为true或false。我找到了一些关于这个问题的文章,但它们对我没有用。
我的切换按钮通过故事板初始化:
@IBAction func FußballPreferenzSwitch(_ sender: UISwitch) {
if (sender.isOn == true) {
FußballPreferenz = "Ja"
}else {
FußballPreferenz = "Nein"
}
}
以下解决方案对我没有用,因为我没有密钥,或者至少我不知道密钥是什么。
在applicationDidFinishLaunching中,他们建议编写以下代码:
let userDefaults = UserDefaults.standard
let defaultValues : [String : Any] = ["key" : false]
userDefaults.register(defaults: defaultValues)
如何更改以下代码以便在我的目的中使用它? 或者还有其他方法可以解决这个问题吗?
答案 0 :(得分:1)
制作IBOutlet
您的广告,然后点击viewDidload
或viewDidAppear
(根据您的要求)
if uiSwitch.isOn {
FußballPreferenz = "Ja"
} else {
FußballPreferenz = "Nein"
}
这样可以确保无论故事板上设置的默认值是否都反映在didload / didappear上的变量上,即使用户没有更改switch的值。
答案 1 :(得分:0)
只是因为有人在这里(我是新手)正在搜索一个片段:
在代码顶部(类定义)添加:
@IBOutlet weak var switchImageBeingDisplayed: UISwitch!
并进一步定义按钮:
@IBAction func switchImageBeingDisplayedChanged(_ sender: Any) {
if switchLockLanguages.isOn {
image1.isHidden = true}
else {
image2.isHidden = false
}
}