如何在嵌套的CollectionView中获取TableViewCell indexPath?

时间:2018-07-08 01:06:03

标签: ios swift uitableview uicollectionview

我有一个表格视图,其中表格视图单元格中有集合视图。我正在尝试做的是获取集合视图中每个表视图单元格的indexPath。

因此,例如,如果表视图单元格的indexPath.row为1,则该特定表视图单元格内的集合视图应该能够获取该值。

我的尝试大部分都是成功的。我在cellIndexPath中创建了一个变量TableViewCell.swift,该变量在cellForRow的{​​{1}}中设置。然后,我可以在集合视图TableView.swift中使用该值,该视图也在cellForItem中(因为它处于嵌套状态)。 问题在于,当您滚动浏览表视图和集合视图时,值会更改。当您滚动浏览具有错误值的集合视图并加载更多单元格时,这些值将变为正确。我通过添加

解决了这个问题
TableViewCell.swift

现在所有值都正确,但是仍然存在另一个问题。例如,如果屏幕上有3个tableview单元格,而我在(表格视图)单元格1中滚动到集合视图的末尾,则单元格4的集合视图也滚动到末尾,请参见下面的视频。 (我不确定这是否是执行此操作的正确方法,因此是问题标题。该问题先前已被询问过,并且已经尝试过这些方法,但仍无法正常工作。我试图实现的目标必须是可能的,因为在App Store中使用。)

更新- 我使用的数据模型基于A1-2-3格式,其中1是类别编号(应用程序中的页面编号),2是子类别编号(tableview行编号),3是广告编号(集合视图单元格编号) 。对于每个类别,数据被分类到3D数组中。 override func prepareForReuse() { collectionView.reloadData() }

看起来像这样[/*category array*/[/*subcat array*/[/*advert data*/]]]-第一个数字是类别,第二个数字是子类别,第三个数字是广告,第四个数字是分支编号,第五个是距离。由于每个子类别都有许多广告,因此这些较小的数组位于较大的数组中。是多个子类别,因此子类别数组位于另一个数组中,这是类别数组(3D数组)。使用此数据,可以生成广告代码Ax-y-z。在[[[0.0, 0.0, 0.0, 2.0, 4655.0], [0.0, 0.0, 1.0, 0.0, 4671.0], [0.0, 0.0, 2.0, 0.0, 4663.0]], [[0.0, 1.0, 0.0, 1.0, 4641.0]]]中,此代码和3D数组中的分支编号用于从JSON文件获取数据。

0 个答案:

没有答案