这里是另一个Swift初学者。我想在每个TableView单元格中都放置一个Stepper,它可以递增同一单元格中的标签。
我找到了几个关于此主题的问题,但它们包含其他元素,我无法提取基本概念。
Swift Stepper Action that changes UITextField and UILabel within same cell
Stepper on tableview cell (swift)
到目前为止,我已经在我的单元格类中连接了Label和Stepper的IBOutlets,以及Stepper的IBAction。
class BuyStatsCell: UITableViewCell{
//these are working fine
@IBOutlet weak var category: UILabel!
@IBOutlet weak var average: UILabel!
@IBOutlet weak var price: UILabel!
//Outlet for Label and Stepper - How do I make these work?
@IBOutlet weak var purchaseAmount: UILabel!
@IBOutlet weak var addSubtract: UIStepper!
//Action for Stepper - And this?
@IBAction func stepperAction(_ sender: UIStepper) {
self.purchaseAmount.text = Int(sender.value).description
}
}
我理解在cellForRowAt indexPath中重复使用cell的概念。
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "BuyStatsTabCell", for: indexPath) as! BuyStatsCell
cell.isUserInteractionEnabled = false
//these are working
cell.category.text = categories[indexPath.row]
cell.price.text = String(prices[indexPath.row])
cell.average.text = String(averages[indexPath.row])
//but is there something I need to add here to keep the correct Stepper and Label for each class?
return cell
}
已经有人提出的问题包括在ViewController中添加协议和另一个函数,如下所示
protocol ReviewCellDelegate{
func stepperButton(sender: ReviewTableViewCell)
}
func stepperButton(sender: ReviewTableViewCell) {
if let indexPath = tableView.indexPathForCell(sender){
print(indexPath)
}
}
我不确定这是否是我应该尝试的方法。我正在寻找最简单的解决方案,但我很难将这些部分组合在一起。
任何帮助都将不胜感激。 谢谢。