从总值中删除tableView didselectRowAtIndexPath值时遇到问题

时间:2017-08-29 03:58:13

标签: ios swift uitableview delegates

我有两个视图控制器。第一个视图控制器包含一个包含项目名称和成本的表视图。每当我点击任何表视图单元格时,第二个视图控制器将显示为弹出屏幕。我可以选择特定选定项目的单位数量,例如 - 1 +

我的问题是:当我点击表格视图中的任何项目时(例如:花费100卢比),我得到弹出屏幕并选择计数为2,因此总费用将为200卢比,它工作得非常好。所选项目的费用将添加到总金额中。但问题是:当我取消选择项目时,应从总值中删除附加值。它没有发生。

父视图控制器:

import UIKit
let finalPrice : Int = 0

func expandableTableView(_ expandableTableView: LUExpandableTableView, didSelectRowAt indexPath: IndexPath)
{
    let inPrice = priceArr[indexPath.row]
    UserDefaults.standard.set(inPrice, forKey: "inPrice")

    let cell: UITableViewCell? = expandableTableView.cellForRow(at: indexPath)

    if cell?.accessoryType == UITableViewCellAccessoryType.none
    {
        cell?.accessoryType = UITableViewCellAccessoryType.checkmark

        arrData[indexPath.section].Children?[indexPath.row].isSelected = 1
        let childViewController = childViewControllr(nibName: "childViewController", bundle: nil)

        childViewController.delegate = self
        childViewController.selectsegmentIndex = selectsegmentIndex
        addChildViewController(childViewController)
        view.addSubview(childViewController.view)
        childViewController.view.frame = CGRect(x: 20, y: 70, width: self.view.frame.size.width-40, height: self.view.frame.size.height-100)
        childViewController.view.center.x = self.view.center.x
        childViewController.didMove(toParentViewController: self)
    }
    else
    {
        cell?.accessoryType = UITableViewCellAccessoryType.none
    }
}
func totalCostLbl(data: Int)
{
    print("data \(data)")
    finalPrice = finalPrice + data
    totalPriceLbl.text = "\(finalPrice) Rupees"
}

在我的子视图控制器中:

@IBAction func OkButtonAction(_ sender: UIButton)
{
    totalPriceCount = UserDefaults.standard.integer(forKey: "inPrice")

    totalPriceCount = totalPriceCount * numOfUnits
    self.delegate?.totalCostLbl(data: totalPriceCount)
}

0 个答案:

没有答案