首页 > 解决方案 > 调用 CellForRowAtIndexPath 后上传 TableView

问题描述

这绝对不是最好的方法,所以如果你有更好的答案,我愿意接受建议......我是一名新程序员。我有一个 instagram 类型配置文件,每个单元格显示 3 个按钮... imageView1、imageView2 和 imageView3。它们是按钮,因为当用户单击它们时,我想去另一个 VC 显示图像。所以,我的问题是我想用来自 picPostArray 的图像填充按钮。我在 CellForRowAtIndexPath 中运行 for in 循环。我认为它有效,但是我不确定如何刷新 tableview 以显示新数据。我的其他个人资料数据在 ViewDidAppear 之后全部刷新并且工作正常。谢谢 :)

                 CellForRowAtIndexPath:
                 for i in 0..<picPostArray.count/3 {

                        cell.imageView1.imageView!.image = picPostArray[(i * 3) + 0]

                        cell.imageView2.imageView!.image = picPostArray[(i * 3) + 1]

                       cell.imageView3.imageView!.image = picPostArray[(i * 3) + 2]



        }

                    return cell

                }
      return UITableViewCell()
    }

标签: swiftparsingtableviewfor-in-loop

解决方案


如果要重新加载数据,则必须使用tableView.relaodData().

顺便说一句,如果您的数组中总是有 3 个图像,那么您可以执行以下操作:

if picPostArray.count == 3 {
      cell.imageView1.imageView!.image = picPostArray[0]
      cell.imageView2.imageView!.image = picPostArray[1]
      cell.imageView3.imageView!.image = picPostArray[2]
    }

否则,如果您的数组将是动态的,但是是 3 的倍数。

let row = indexPath.row 
 cell.imageView1.imageView!.image = picPostArray[row * 3 + 0]
 cell.imageView2.imageView!.image = picPostArray[row * 3 + 1]
 cell.imageView3.imageView!.image = picPostArray[row * 3 + 2]

推荐阅读