gpt4 book ai didi

Swift:- 在自定义 tableview 单元格中单击按钮时将标签值增加 1

转载 作者:可可西里 更新时间:2023-11-01 00:54:28 25 4
gpt4 key购买 nike

我试图在自定义表格单元格内单击按钮时将标签值增加 1。我可以在不同的单元格中以不同的方式更改值,但问题是如果我在第一个单元格标签中点击 + 从 0 变为 1,当我在第二个单元格标签中点击 + 时直接从 0 变为 2,在其他单元格中依此类推。我该如何解决这个问题?

     var counts = 0

@IBAction func addPressed(_ sender: UIButton) {
let indexPath = IndexPath(row: sender.tag, section: 0)
let cell = tblview.cellForRow(at: indexPath) as! HomeDetailsTableViewCell
counts = (counts + 1)
cell.lblNoOfItems.text = "\(counts)"
}

最佳答案

有两种方法可以实现:

1.controller 级别和每次按下 button< 时,保持 Array 中每个单元格的计数,从数组中获取计数并使用它,即

var counts = [Int](repeating: 0, count: 10) //10 is the number of cells here

@IBAction func addPressed(_ sender: UIButton) {
let indexPath = IndexPath(row: sender.tag, section: 0)
let cell = tblview.cellForRow(at: indexPath) as! HomeDetailsTableViewCell
counts[indexPath.row] += 1
cell.lblNoOfItems.text = "\(counts[indexPath.row])"
}

2. 将每个单元格的计数保存在自定义单元格本身中,即在 HomeDetailsTableViewCell 中,即

class HomeDetailsTableViewCell: UITableViewCell {
var count = 0
//Rest of the code...
}

@IBAction func addPressed(_ sender: UIButton) {
let indexPath = IndexPath(row: sender.tag, section: 0)
let cell = tblview.cellForRow(at: indexPath) as! HomeDetailsTableViewCell
cell.count += 1
cell.lblNoOfItems.text = "\(cell.count)"
}

此外,您实现添加 + button 的代码的方式不正确。您必须在 HomeDetailsTableViewCell 本身中实现它,即

class HomeDetailsTableViewCell: UITableViewCell {
@IBOutlet weak var lblNoOfItems: UILabel!
var count = 0

@IBAction func addPressed(_ sender: UIButton) {
self.count += 1
self.lblNoOfItems.text = "\(self.count)"
}
//Rest of the code...
}

关于Swift:- 在自定义 tableview 单元格中单击按钮时将标签值增加 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53076642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com