如何使用dequeueReusableCellWithIdentifier快速管理UITableView中的购物车?

阿维吉特·纳加尔(Avijit Nagare)

我的self.totalPriceLabel显示了所有商店Product的总价。它可以正常工作,但是当我滚动cell关闭屏幕时,由于dequeueReusableCellWithIdentifier self.totalPriceLabel获取了不正确的值。我正在将值保存在存储在的数组中NSUserDefaults

在此处输入图片说明

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

        var cell : CartCell? = tableView.dequeueReusableCellWithIdentifier("cartCell") as! CartCell!
        if(cell == nil)
        {
            cell = CartCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cartCell")
        }

        cell?.itemCount.layer.cornerRadius = 5
        cell?.clipsToBounds = true

        cell?.itemCount.layer.borderWidth = 1
        cell?.itemCount.layer.borderColor = UIColor.blackColor().CGColor
        cell?.itemMinus.tag = indexPath.row
        cell?.itemPlus.tag = indexPath.row
        cell?.itemDelete.tag = indexPath.row

        let key = self.readArray[indexPath.row]

         cell?.itemCount.text = String("\(key.allValues[0])")
        let tupleVar = getProductNameFromCharacter(String("\(key.allKeys[0])"))
        cell?.itemName.text = tupleVar.tempName
        cell?.itemPrice.text = String("\(tupleVar.price)")

        //Actual Logic
        let tempCount = key.allValues[0] as! Double
        let nextItemPrice = (cell!.itemPrice.text! as NSString).doubleValue * tempCount
        self.totalPriceLabel.text = String("\((self.totalPriceLabel.text! as NSString).doubleValue + nextItemPrice)")


        return cell!

    }

问题:随着滚动cell获取错误的values.for self.totalPriceLabel

self.totalPriceLabel.text = String(“((((self.totalPriceLabel.text!as NSString).doubleValue + nextItemPrice)”)

如何获得cell刚刚脱离屏幕的价值?如何解决由于滚动导致的此问题?

ryantxr

cellForRowAtIndexpath是执行该计算的错误位置。您假设iOS将为每个单元调用一次此函数。事实并非如此。调用此函数以显示单个单元格。上下滚动时,同一单元格可能会多次调用。

当您从基础数据(self.readArray)中添加或删除项目时,应该更新该总数。

此外,添加代码以在点击“数量”按钮时更改总数。

如果您需要更多具体的帮助,请发布整个控制器。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用 Recyclerview Adapter 获取购物车中的总数

如何禁用woocommerce中的购物车?

如何显示购物车中的产品?

如何使用PHP生成唯一的行ID以唯一标识购物车中的购物车项目?

如何快速在NavigationBar中的购物车UIBarButton上添加标签

如何在购物应用中添加购物车功能?

如何在管理员中调用购物车物品?

如何在symfony 2中管理一个简单的购物车会话?

当商品从购物车中移除时,如何显示“空购物车”字样?

如何在shopify ios sdk中打印购物车物品,删除购物车物品?

如何在购物车更新时更新购物车中的其他属性?

如何在Woocommerce购物车中替换购物车项目产品永久链接

我如何在购物车图标后面显示购物车中的总项目

如果购物车中已存在商品-reactjs,如何更新购物车数量?

使用laravel crinsane购物车搜索购物车中的物品

使用香草javascript更改购物车中的购物车项目数量

购物车中的会话

使用PHP的购物车

如何使用vuex刷新后如何将商品保留在购物车中

如何使用javascript或ajax在php中更新购物车中的每个项目

Prestashop:如何在购物车中获取虚拟产品以在 Address.php 中使用?

如何在购物车中使用 PHP 中的同名会话数组变量?

如何使用 React Redux 更新购物车中的商品数量

我如何使用布尔方法从购物车中删除对象?

我如何在使用Context API做出反应的购物车中没有重复的价值?

如何在Django中为购物车使用启动函数?

如何使用 opencart 3 在特色/产品列表内容中显示/显示产品购物车数量

如何使用Selenium WebDriver验证购物车中添加的多个产品是否相同

如何使用codeigniter在数据库中添加多个购物车项目