gpt4 book ai didi

swift - TableView 内的 Collection View

转载 作者:行者123 更新时间:2023-11-30 11:11:27 24 4
gpt4 key购买 nike

我在应用程序中有以下实现,其中有一个 TableView ,其中每个 TableView 单元格都包含一个 Collection View 。

enter image description here

这里, Collection View 中的单元格数量将取决于表格 View 单元格中的数据,并且每行都不同。例如,第 1 行有 3 张卡片,第 2 行有 1 张卡片,第 3 行有 2 张卡片。

问题是我在第二个单元格中得到了 3 个 Collection View 单元格,而不是 1 个。

表格 View

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.groupedJobIds.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if let cell = tableView.dequeueReusableCell(withIdentifier: JobTableViewCellCollection.CellReuseIdentifier) as? JobTableViewCellCollection {
var jobIds = self.groupedJobIds[indexPath.row]
cell.delegate = self
if jobIds != [] {
cell.bindJobs(jobIds)
}
return cell
}
return UITableViewCell()
}

表格 View 单元格/ Collection View

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.jobIds.count //It returns 1
}

//This method is called 3 times
func collectionView(_ collectionView: UICollectionView,
cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: JobCollectionViewCell.CellReuseIdentifier, for: indexPath) as? JobCollectionViewCell
cell?.delegate = self
cell?.bindJob(jobId)
return cell!
}

如您所见,第一个方法返回 1 作为 numberOfItemsInSection。但第二种方法被调用了3次。我错过了什么吗?

最佳答案

我认为您正在使用 TableView 的 dequeueReusableCell 方法,这导致了问题。您可以在每次加载 TableView 时尝试新的 Collection View 吗?

关于swift - TableView 内的 Collection View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52145699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com