从未在 UICollectionView 中调用 prepareForSegue

prepareForSegue is never called in UICollectionView

下午好,

我正在尝试从我的 CollectionView 执行 segue,但是在触摸 Cell 时从未触发 prepareForSegue。这适用于我的 TableView,但不适用于我的 CollectionView。

正如您在我的代码中看到的那样,我在同一个 ViewController 中有两个,但我不知道为什么它只适用于 TableView。 "segueCollection" 永远不会触发。

我必须做什么才能完成这项工作?有某种类型的问题,因为我也在使用 TableView segue?我有点迷路了。

这是我的代码:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "showMovieFromTable", let destination = segue.destinationViewController as? MovieViewController, index = tableView.indexPathForSelectedRow?.row {
        destination.year = searchMovies[index].year
    } else if segue.identifier == "showMovieFromCollection" {
        print("segueCollection")
    }
    print("segueTriggered")
}

我也在这段代码中尝试(但它也没有显示任何内容):

func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {
    print(indexPath)
    self.performSegueWithIdentifier("showMovieFromCollection", sender: self)
}

提前致谢,

此致。

我遇到了同样的问题,卡在那里了一段时间。最后我意识到,我必须使用 prepare 函数而不是使用 prepareForSegue。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "YourIdentifier" {
        // stuff you want to do
    }
}