在Tableviews中切换

Nik*_*har 1 uitableview uiswitch ios swift

我有以下自定义UITableViewCell:

在此输入图像描述

我希望当有人翻转单元格的开关以更新我的模型时,我的视图控制器会收到通知.我一直在使用表视图的委托方法(试过didSelect,didFinishEditing,didHighlight等),但他们都不在这个动作叫.有什么办法可以做我想做的事吗?有人请帮忙.

Anb*_*hik 5

实际上你的UISwitch已经添加accessoryViewUITableViewCell,所以喜欢上cellforRowAtIndex

var switchView = UISwitch(frame: CGRect.zero)
aCell.accessoryView = switchView
lightSwitch.tag = indexPath.row
switchView.setOn(false, animated: false)
switchView.addTarget(self, action: #selector(switchChanged(_:), for: .valueChanged)
Run Code Online (Sandbox Code Playgroud)

并获得UISwitchas 的动作

func switchChanged(_ sender: UISwitch) {

    print("which switch is \(sender.tag)")
    print("The switch is \(sender?.on ? "ON" : "OFF")")
}
Run Code Online (Sandbox Code Playgroud)