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 に答える