要解决这个问题,我将有一个自定义表格视图单元格。一个很棒的教程在这里:https://www.youtube.com/watch?v=OQYqGM5_wVY&list=LL&index=16&t=752s
它实际上显示了在 tableview 中使用 switch。
为了有一个计数器,我会使用 UINotification Center。在自定义 tableview 单元格 swift 文件中,我会在您的开关操作中添加类似于以下代码的内容:
if switch.isOn{
NotificationCenter.default.post(Notification(name: Notification.Name("tableSwitchClicked"), object: nil, userInfo: ["isOn":true]))
} else {
NotificationCenter.default.post(Notification(name: Notification.Name("tableSwitchClicked"), object: nil, userInfo: ["isOn":false]))
}
“switch”是您的交换机的插座名称。
然后将其添加到 viewDidLoad 中的 viewcontroller swift 文件中:
NotificationCenter.default.addObserver(self, selector: #selector(changeSwitchCounter(_:)), name: Notification.Name("tableSwitchClicked"), object: nil)
最后,在主视图控制器中 viewDidLoad 之后的代码中:
@objc func changeSwitchCounter(_ notification: Notification){
let positiveChange = notification.userInfo!["isOn"] as! Bool
if positiveChange == true {
switchOnCount += 1
} else if positiveChange == false {
switchOnCount -= 1
}
}
其中 switchOnCount 是用于跟踪开关量的变量。我希望这可以帮助你!如果您有任何问题,请发表评论。