如何解决产品增量减量快速
我正在尝试实现一项功能,其中用户点击加号将使用我制作的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 举报,一经查实,本站将立刻删除。