当与tableView单元格一起添加时,UISwitch未调用函数可能是由于以下几个原因导致的:
解决这个问题的方法如下:
switch.addTarget(self, action: #selector(switchValueChanged(_:)), for: .valueChanged)
其中,self
是目标对象,switchValueChanged(_:)
是动作方法。
switch.addTarget(self, action: #selector(switchValueChanged(_:)), for: .valueChanged)
其中,self
是目标对象,switchValueChanged(_:)
是值变化事件监听器。
cellForRowAt
方法中注册重用标识符,如下所示:func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "CellIdentifier", for: indexPath)
// 其他设置cell的代码
return cell
}
其中,"CellIdentifier"
是重用标识符。
总结起来,要解决与tableView单元格一起添加时UISwitch未调用函数的问题,需要正确设置UISwitch的目标-动作机制和值变化事件,并正确注册UITableViewCell的重用标识符。这样可以确保UISwitch的值变化时能够调用相应的函数。
领取专属 10元无门槛券
手把手带您无忧上云