使用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并获取值。因此,我确信就其而言我很好。我正在使用,如果让我确保我没有强行打开。这可能有什么问题?
答案 0 :(得分:0)
解开了这个谜。我在目标视图控制器中创建了一个字符串变量,并通过segue将图像的字符串名称发送到该变量。然后,在目标视图控制器的ViewDidLoad方法中,使用该字符串值来获取图像视图IBOutlets上的图像。