在加载页表视图委托时,调用了自动在3中自动增加标签数量值吗?

时间:2018-07-04 06:52:17

标签: ios uitableview swift3

在加载页面之后,调用步进按钮动作时调用的委托人cell for row at index path会被调用,并且数量值会自动更新,而无需在swift 3中进行手动更新。有人可以帮助我如何解决此问题?

这是我在索引路径委托方法中单元格中的行代码

cell.stepperView.minimumValue = 1
cell.stepperView.autorepeat = false
cell.stepperView.value = Double(arr.quantity!)
cell.stepperView.label.text = "\((arr.quantity)!)"
cell.stepperView.label.font = UIFont.boldSystemFont(ofSize: 17.0)
print(arr.quantity)
cell.stepperView.tag = indexPath.row
cell.stepperView.addTarget(self, action: #selector(stepperAction(sender:)), for:.valueChanged)
cell.removeButton.tag = indexPath.row
cell.removeButton.addTarget(self, action: #selector(deleteAction(sender:)), for: .touchUpInside)

这是我的步进动作调用方法

@objc func stepperAction(sender: GMStepper) {

        print(sender.tag)
        self.Index = sender.tag
        print(self.Index)
        let value = String(describing:Float(sender.value))
        print(value)
        let obj = cartItemsModel[sender.tag]
        self.itemId = obj.itemID
        print(obj.itemID)
        cartItemsModel[sender.tag].quantity = Int(sender.value)
        self.price = obj.price
        let quant = value.replacingOccurrences(of: ".0", with: "")
        self.quantity = Int(quant)

        if self.Index! != nil {
            if loginCheck == 1 {
                let customerItemsAddingAPI = "\(domainName)/V1/carts/mine/item/\(itemId!)"
                customerItemsIncrementingandDecrementingtocartDownloadJsonWithURL(customerAPI: customerItemsAddingAPI)
            }else {
                let guestItemsAddingApi = "\(domainName)/en/V1/guest-carts/\(self.guestQuoteId!)/item/\(itemId!)/"
                guestItemsIncrementingandDecrementingtocartDownloadJsonWithURL(itemsApi: guestItemsAddingApi)
            }
        }
    }

根据响应状态代码调用上述api之后,我正在手动更新价格和数量,并且使用的代码是

let responseString = String(data: data, encoding: .utf8)
            print("responseString = \(responseString!)")
            let status = (response as! HTTPURLResponse).statusCode
            self.statusCode = status
            DispatchQueue.main.async {
                if self.statusCode == 200 {
                    print(self.stepperIndexPath?.row)
                    print(self.stepperIndexPath?.section)
                    self.cartTotalCheck = true
                    let cell = self.cartCollectionView.cellForItem(at: IndexPath(row: self.Index!, section: 1)) as? cartItemCollectionViewCell
                    cell?.stepperView.label.text = "\((self.quantity)!)"
                    cell?.productPriceLabel.text = "$ \(self.doubleToStringDecimalPlacesWithDouble(number: (Double(self.quantity!) * ((self.price)!)), numberOfDecimalPlaces: 2))"
                    self.customerTotalpriceDownloadJsonwithURL(customerTotalAPI: self.customerTotalPriceURL)
                }
                else{
                    RappleActivityIndicatorView.stopAnimation()
                }
            }

0 个答案:

没有答案