jeudi 21 mars 2019

How to print value in UILabel from the values of TableView dynamically

enter image description here

I'm having a tableView with a custom cell, whenever I click the checkbox button the value inside the cell increases i.e.,(0 to 1) in cell, and on uncheck value decreases, that works perfectly. But whenever I try to print those values from the cell to a UILabel outside tableView, the values are not changing.

This is the below code I have Used

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! TabCell

    cell.checkB.tag = indexPath.row
    let ip = data[indexPath.row]
    cell.nameText.text = ip["title"] as? String
    if cell.nameText.text == "Mandatory testing" {

        cell.checkB.checkState = .checked
        cell.backgroundColor = UIColor.lightGray
        cell.checkB.backgroundColor = UIColor.lightGray
    }

    if ip["mandatory"] as? String == "yes" {
        moneyText.text = ip["amount"] as? String
       //moneyText is UILabel outside Tableview
        cell.amountValue.text = ip["amount"] as? String

        cell.checkB.isEnabled = false
    } else {
        moneyText.text = "0"
        if cell.amountValue.text == "1"{
            print("ONE")
        }
    }
    return cell
}

And for TableviewCell I Used

class TabCell: UITableViewCell {

@IBOutlet weak var checkB: M13Checkbox!

@IBOutlet weak var nameText: UILabel!

@IBOutlet weak var amountValue: UILabel!

var someValue: Int = 0 {
    didSet {
        amountValue.text = "\(someValue)"
    }
}

@IBAction func checkBAction(_ sender: M13Checkbox) {

    if checkB.checkState == .checked {
        someValue += 1

    } else if checkB.checkState == .unchecked {
        someValue -= 1

    }       
}

}

I tried first adding those values from cell to an Array, and then adding all the values in array and printing in UILabel, but the values are not changing, it was only incrementing.i.e., even after unchecking the checkbox the value is increasing.

I tried even using protocol it did not work for me

Any Help will be appreciated.




Aucun commentaire:

Enregistrer un commentaire