swift collectionViewを使い画面遷移したいのですが、上手くいきません。
// Cell が選択された場合
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let cell = collectionView.cellForItem(at: indexPath)
cell?.layer.borderColor = UIColor.gray.cgColor
cell?.layer.borderWidth = 2
selectedImage = self.elementsImage[indexPath.row]
if selectedImage != nil {
performSegue(withIdentifier: "toSubPviewController",sender: nil) - - - ①
}
// Segue 準備 - - - ②
func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if (segue.identifier == "toSubPviewController") {
let subVC: SubPViewController = (segue.destination as? SubPViewController)!
// SubViewController のselectedImgに選択された画像を設定する
subVC.selectedImage = selectedImage
}
}
}
※ 画面はshowmodalでつなぎ segueのidentifierは"toSubPviewController"をセットしていますが①からSegue準備(prepare)に処理がいかず次の画面のviewDidLoadに飛んでいく為に
(prepare内の)subVC.selectedImage = selectedImageがセットされない状態です。
因みに②をoverride funcすると'override' can only be specified on class membersというエラーになってしまいます。