如何获取选定的单元格索引路径Swift

时间:2018-03-01 22:39:43

标签: ios swift uitableview

我的VC中有一个表格视图。在单元格内部有一些标签和按钮。我在标签中传递了值,现在我尝试了当我按下同样在该单元格中的按钮时它应该增加标签的值。该标签中的值来自之前的VC。当按下按钮时,我已经为它做了一个代表,当按下按钮时,它应该按照其中的第一个价格增加标签的值。我正在尝试获取该单元索引路径但不进行竞争。我的代码是这样的, 在我的cel课程中,我有这个协议,

protocol cartDelegate {
func addTappedInCell(_ cell: CartTableViewCell)
func minusTappedInCell(_ cell: CartTableViewCell)

}

var delegate : cartDelegate?
@IBAction func addBtnTapped(_ sender: Any) {

    delegate?.addTappedInCell(self)
}

@IBAction func minusBtnTapped(_ sender: Any) {

   delegate?.minusTappedInCell(self)
}

在我的视图控制器中我尝试了这个,

extension CartViewController : cartDelegate{

func addTappedInCell(_ cell: CartTableViewCell) {


    guard let indexPath = cartTableView?.indexPath(for: cell) else { return }

    print(indexPath)

    total += 1
    cell.totalLbl.text = String(total)
    print(cell.priceLbl.text!)
    count = "5"

    let tPrice = cell.priceLbl.text! + count
    print(tPrice)
    cell.priceLbl.text = String(tPrice)
    subTotalLbl.text = cell.priceLbl.text

}

func minusTappedInCell(_ cell: CartTableViewCell) {
    total -= 1
    cell.totalLbl.text = String(total)
    price = Int(cell.priceLbl.text!)! - Int(count)!
    cell.priceLbl.text = String(price)
    subTotalLbl.text = cell.priceLbl.text
}

我没有得到按下按钮的那个单元格的indexPath。 这是我的屏幕看起来的样子, enter image description here

1 个答案:

答案 0 :(得分:0)

在自定义单元格类中声明一个var

   var cellIndex:NSIndexPath?

并在cellForRow中设置它

   cell.cellIndex = indexPath

然后随处访问

OR  直接使用

 var index = tableView.indexPath(for:cell)