产品增量减量快速

问题描述

我正在尝试实现一项功能,其中用户点击加号将使用我制作的post API增加产品的数量。问题是它没有动态显示数量。每当我再次加载该视图时,它都会显示正确的数字,但是只要我点击它,它便不会更改 下面是代码

在这里,我正在获取包括数量在内的产品数据。仅此API包含数量,因此我从中获取数据并存储在数组中。

func getCartDetails() {
  ApiCaller().getData(url: get_cart_url,resultType: CartResult.self) { (results) in
    self.cartPriceDetails = results.result!
    guard let resultArray = results.result?.cartItems as? [CartItem] else {return }

    for cart in resultArray {
      self.cartItems.append(cart)
    }

    dispatchQueue.main.async {
      self.updatetotalLabels(isEmpty: false)
      self.updateCheckoutStatus()
      self.tableView.reloadDataSavingSelections()
    }
  }
}

这是我的addProduct方法,该方法将更新为后端,并且不响应数量

func addItem(prodId:String,qty:Int,cartId:String) {
  let request = cartProducts(products: [addCartProducts(prodId:prodId,q: qty + 1)])
  do {
    let encodedResult = try JSONEncoder().encode(request)

    ApiCaller().postData(url: update_cart_url+cartId+"/update",requestBody: encodedResult,requestMethod: "PUT",resultType: UpdateCartResults.self) { (results) in
      print(results.statusCode)
      dispatchQueue.main.async {
        self.tableView.reloadData()
      }
    }
  } catch {
    print(error)
    return
  }
}

这在cellForRowAt中,用于调用callBack进行递增

cell.callBackForAddingItem = { () in
  self.addItem(prodId: self.cartItems[indexPath.row].id,qty: self.cartItems[indexPath.row].qty,cartId: self.cartPriceDetails!.id)
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)