gpt4 book ai didi

swift - 在动态 tableView 的 tableViewCell 中从动态 collectionViewCell 执行 Segue With Identifier,swift

转载 作者:行者123 更新时间:2023-11-30 10:03:47 25 4
gpt4 key购买 nike

我在一个动态tableView中,在其中一个tableViewCell中有一个动态collectionView。

在每个collectionViewCell中,都有一个按钮应该作为segue的触发器。

我尝试使用以下代码,但应用程序崩溃了:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<Okm.bienController: 0x7fc8b0cfb1a0>) has no segue with identifier 'extend''

我的 StoryBoard 中的 Segue 标识符是“extend”。

 class photoCell: UITableViewCell, UICollectionViewDelegateFlowLayout, UICollectionViewDelegate, UICollectionViewDataSource {
...

func extendFunc(sender : UIButton) {

bienController().performSegueWithIdentifier("extend", sender: sender.tag)
}
}


class bienController : UIViewController, UITableViewDelegate, UITableViewDataSource {

...

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "extend" {
let backItem = UIBarButtonItem()
backItem.title = ""
navigationItem.backBarButtonItem = backItem

let extendView = segue.destinationViewController as! extendController
extendView.image = image[sender]

}
}
}

你知道我该怎么做吗?

谢谢!!!

编辑

enter image description here

术语bienController().performSegueWithIdentifier(...)是否正确?我可以从 UICollectionCell 调用 Controller 的函数吗?

编辑

我尝试过这个:

 func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if tableView == self.tableViewTwo {
self.segue()
// self.performSegueWithIdentifier("image", sender: nil)
}
}

func clickExtend(sender:Int){
print(sender) //print the correct tag!
self.segue()
}

func segue(){
self.performSegueWithIdentifier("image", sender: nil)
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "image" {
let backItem = UIBarButtonItem()
backItem.title = ""
navigationItem.backBarButtonItem = backItem
// print(sender)

let extendView = segue.destinationViewController as! extendController
extendView.image = UIImage(named: "maison")

}
}
}

我将函数 clickExtend() 与我的 collectionCell 的按钮链接起来。当它来自 didSelectRowAtIndexPath 时,segue 可以工作,但是当我单击按钮扩展时,它会崩溃并出现相同的错误:“由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“Receiver () 没有带有标识符“image”的 segue” '

没看懂..

(我更改了“image”的 segue 标识符)

最佳答案

检查 Segue 是否从单元格或 View Controller 中出来。也许就是这样。

关于swift - 在动态 tableView 的 tableViewCell 中从动态 collectionViewCell 执行 Segue With Identifier,swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37175002/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com