0

我有这个函数,它获得一个 UISwitch 与触发该函数的按钮具有相同的标记值,然后它意味着将 UISwitch 的状态更改为 true:

let tagToSwitch = self.view.viewWithTag(sender.tag) as? UISwitch
tagToSwitch?.setOn(true, animated: true)

但这不起作用,如果我更改tagToSwitch!应用程序崩溃并返回错误,'fatal error: unexpectedly found nil while unwrapping an Optional value'尽管我不确定我在哪里出错,因为当我在此之前打印 sender.tag 值时,它会打印正确的值。

任何帮助表示赞赏。

4

1 回答 1

1

viewWithTag可能无法获得您想要的视图。您可以尝试使用 for 循环。

for view in self.view.subviews {
    if let tagToSwitch = view as? UISwitch {
        if tagToSwitch.tag == sender.tag {
            tagToSwitch.setOn(true, animated: true)
        }
    }
}
于 2016-02-03T22:56:36.373 回答