• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 在表格 View 中向上滚动时 UITableViewCell 为空

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:41:06 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

  • 我不滚动 tableView 时的第一张图片

我的子项目正在显示

MY SubItems are Show

  • 滚动tableView时的第二张图片

我的子项目是空白的

 MY SubItems are blank

我的 CellFor 行代码是

var aryDictData = [[String:AnyObject]]()

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        var aryOptionName = [String]()
        var strOptionName = String()

        var cell = DeliveryTableViewCell()
        cell = tableView.dequeueReusableCell(withIdentifier: "DeliveryTableViewCell") as! DeliveryTableViewCell
        cell.selectionStyle = .none

        let productPrice = userDefault.object(forKey: ProductDesConstantNames.KAryStorePrices) as! [String]

         if indexPath.section == 0{
            if indexPath.row < (aryDictData[0]["storeName"]!).count{

               cell.lblItemName.text = ((aryDictData[0]["storeName"]! as AnyObject)[indexPath.row] as! String)

                cell.lblPrice.text = "$\(String(((Double(productPrice[indexPath.row])! + grandTotalProductPrice[indexPath.row]) * Double(numQuntity))))"

                cell.lblItemQuantity.text = "\(numQuntity)x"
                cell.lblItemQuantity.textColor = UIColor.init(red: 41/255, green: 144/255, blue: 85/255, alpha: 1.0)

                let data = aryPreviewOrder[indexPath.row] as! [[String:AnyObject]]
                print(data)

                for i in 0..<((aryDictData[0]["options"]! as AnyObject)[indexPath.row]! as AnyObject).count {
                    let optionName = ((((aryDictData[0]["options"]! as AnyObject)[indexPath.row]! as AnyObject)[i] as AnyObject)["option_name"] as! String)
                    let prices = ((((aryDictData[0]["options"]! as AnyObject)[indexPath.row]! as AnyObject)[i] as AnyObject)["price"] as! String)

                    aryOptionName.append("\(optionName) ($\(prices))")
                    //                    aryOptionPrices.append("($\(prices))")

                    strOptionName = aryOptionName.joined(separator: "\n")
                    //                    strOptionPrice = aryOptionPrices.joined(separator: "\n")
                }
                cell.lblOptionNames.text = strOptionName
               }             
           }
     }
    return cell
}



Best Answer-推荐答案


尽量避免单元格中的 for 循环,在构建数据源时,您可以创建这些选项名称并将其存储在带有一些键的数组中,然后每次在 cellforrow 中重用该键,而不是再次创建 n再次。

for i in 0..<((aryDictData[0]["options"]! as AnyObject)[indexPath.row]! as AnyObject).count {
  let optionName = ((((aryDictData[0]["options"]! as AnyObject)
  [indexPath.row]! as AnyObject)[i] as AnyObject)["option_name"] as! 
  String)
  let prices = ((((aryDictData[0]["options"]! as AnyObject)
  [indexPath.row]! as AnyObject)[i] as AnyObject)["price"] as! String) 
  aryOptionName.append("\(optionName) ($\(prices))")
  }
  strOptionName = aryOptionName.joined(separator: "\n")

  cell.lblOptionNames.text = strOptionName

关于ios - 在表格 View 中向上滚动时 UITableViewCell 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46216360/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap