我正在为自定义 TableViewCell
中的 UISwitch
苦苦挣扎。
UITableViewCell
中的开关将单元格中的项目添加到另一个数组。但是,我注意到,当我更改一个开关时,它也会更改其他单元格中的其他开关。
我认为问题出在 TableView dequeueReusableCell
函数上。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "currencyCell") as? currencyCell else { return UITableViewCell() }
}
最佳答案
您必须将开关的值存储在 UITableviewCell
“外部”的某处,以便能够将其重置为特定开关在该单元格中的最后一个值。
我建议使用委托(delegate)模式从单元格中保存它(例如,当 UISwitch 的
值更改时)。然后在单元格出队后从 tableView:cellForRowAt:
函数设置它。
关于ios - 为什么更改 TableViewCell 中的开关会影响其他单元格中的其他开关?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830955/