gpt4 book ai didi

ios - 通过 navigationController 使用 segue 传递数据

转载 作者:行者123 更新时间:2023-11-30 10:56:51 24 4
gpt4 key购买 nike

我正在尝试将数据从一个 View Controller 推送到另一个 View Controller 。我已将一个 viewController 连接到另一个 ViewController 的 navigationController,然后将标识符设置为 “showItemSegue”。我在这两行中收到错误:

var detailController = segue.destinationViewController as ShowItemViewController
detailController.currentId = nextId!

图片说明:

enter image description here

代码:

override func collectionView(collectionView: UICollectionView, didSelectItemAtIndexPath indexPath: NSIndexPath) {


nextId = itemArray?.objectAtIndex(indexPath.row).objectForKey("objectId") as? NSString

self.performSegueWithIdentifier("showItemSegue", sender: self)

}


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

if (segue.identifier == "showItemSegue") {
var detailController = segue.destinationViewController as ShowItemViewController
detailController.currentId = nextId!
}

}

最佳答案

segue 的目标 View Controller 是 UINavigationController。您需要询问其顶部 View Controller 才能到达真正的目标 View Controller :

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "showItemSegue" {
let navController = segue.destination as! UINavigationController
let detailController = navController.topViewController as! ShowItemViewController
detailController.currentId = nextId!
}
}

关于ios - 通过 navigationController 使用 segue 传递数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53873601/

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