您需要维护一个quantityArray 来存储每个索引的当前数量
var quantityArray:[Int] = [] //initialize quantity array
然后将初始数量值添加到quantityArray
例如:如果您的列表数组计数为 10,并且所有项目的初始数量将是一种方式
向数组添加初始值
for i in 0 ..< 10 {
quantityArray.append(1)
}
然后在你的tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath)
从数量数组中分配数量值
cell.qtyLbl.text = "\(quantityArray[indexPath.row])"
cell.incrementBtn.tag = indexPath.row
cell.incrementBtn.addTarget(self, action: #selector(self.incrementBtnClicked(_:)), for: .touchUpInside)
cell.decrementBtn.tag = indexPath.row
cell.decrementBtn.addTarget(self, action: #selector(self.decrementBtnClicked(_:)), for: .touchUpInside)
将以下函数添加到您的viewcontroller
func incrementBtnClicked(_ sender:UIButton){
let increasedQty = quantityArray[sender.tag]+1
self.quantityArray.replaceSubrange(sender.tag, with: increasedQty)
self.tableView.reloadData
}
func decrementBtnClicked(_ sender:UIButton){
let decreasedQty = quantityArray[sender.tag]-1
self.quantityArray.replaceSubrange(sender.tag, with: decreasedQty)
self.tableView.reloadData
}
如果你这样使用,即使在滚动表格视图之后,单元格中的数量也会从数量数组中填充
希望对你有帮助