在PreparetoSegue期间检索所选UICollectionViewCell的索引路径?

时间:2017-05-04 17:24:07

标签: ios swift uicollectionview

使用collectionViewCells并尝试通过segue将数据发送到下一个ViewController。虽然获取indexPath并不像tableViewCell那样简单,但我可以做这样的事情来获取它,但是我仍然得到“在展开Optional值时意外发现nil”错误。

以下是代码:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {

    if let cell = sender as? MainCollectionViewCell {
    if let indexPath = self.collectionview.indexPath(for: cell) {
        // use indexPath
    print(indexPath.row)
    let destvc: H1ViewController = segue.destination as! H1ViewController
  destvc.backgroundimg.image = UIImage(named: magazines[indexPath.row].image)

        }
    }

}

我正在打印indexpath.row并获取值。因此,我确信就其而言我很好。我正在使用,如果让我确保我没有强行打开。这可能有什么问题?

1 个答案:

答案 0 :(得分:0)

解开了这个谜。我在目标视图控制器中创建了一个字符串变量,并通过segue将图像的字符串名称发送到该变量。然后,在目标视图控制器的ViewDidLoad方法中,使用该字符串值来获取图像视图IBOutlets上的图像。