从未在 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
}
}
下午好,
我正在尝试从我的 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
}
}