我在cellForItemAtIndexPath方法中使用成就对象填充我的集合视图:
let achievement = self.achievements[usableIndexPath.row]
让我们调用此集合视图A.
我想将选定的索引从集合视图A传递给集合视图B.
我用以下方法做到了:
我在集合View B中创建了一个名为“initialIndexPath”的存储属性。在集合视图A中的didSelectIndexPath方法中,我将“initialIndexPath”属性设置为集合视图A中所选单元格的索引。
从集合视图A中选择单元格的indexPath - >集合视图B中的“InitialIndexPath”。
我是这样做的:
在集合视图B中:
/// 1st achievement to show in carousel
var initialIndexPath: NSIndexPath?
在集合视图A:
中func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
...
// - 1st achievement to show in carousel
achievementsDetailCollectionView.initialIndexPath = indexPath
在集合视图B中的cellForItemAtIndexPath方法中:
let achievement = self.achievements[initialIndexPath!.row]
这里的问题是每个单元格都是集合视图A中所选单元格索引的单元格。
我希望从集合View A中选择的单元格成为加载集合View B
时查看的第一个单元格