0
これは前の質問からの続きですが、私は非常にシンプルなものを見逃していると感じています。カスタムテーブルビューセル内のUISwitchにオブザーバを追加する
私はスイッチを含むカスタムテーブルビューのセルがあり、値が変更されるたびに関数をトリガする必要があります。私は.addTarget
を使用しようとしましたが、関数をトリガーするようなことはないので、セレクタの構文が正しくない可能性があります。 私はこのようなテーブルビューのセル内にプログラム的にスイッチを作成します。
let thisSwitch: UISwitch = {
let thisSwitch = UISwitch()
thisSwitch.isOn = false
thisSwitch.translatesAutoresizingMaskIntoConstraints = false
thisSwitch.addTarget(self, action: Selector("switchTriggered:"), for: .valueChanged)
return thisSwitch
}()
を次に直接その下に私は私の機能を持っている:
func switchTriggered(sender: AnyObject) {
print("SWITCH TRIGGERED")
let sentSwitch = sender as! UISwitch
privateExercise.switchState = sentSwitch.isOn
}
はそれは方法はObjective-Cので宣言されていない」というエラーメッセージが表示さセレクタ 'switchTriggered:' "私はここで何が欠けていますか?どんな助けでも大歓迎です!
本当にありがとうございましたをキャスト避けるために
UISwitch
型自体としてパラメータを保つでなければなりません。 私はちょうどこれを試みたが、エラーメッセージが消えても、それはまだ私の機能を引き起こすようではありません。 参考のため、私の運動変数にはswitchState変数があります。この変数はスイッチを追跡する必要があり、そのためアクションの必要性があります。 このメソッドを呼び出さない理由は何ですか? – EtherCode
このスイッチボタンをどこかに追加していますか? 完全なcellForRowコードを投稿してください –
まず、問題のコードを編集してください。第2に、UITwitchがUITableViewCellのビューに追加されている部分です。 configureCellWith関数本体がありません。 –