gpt4 book ai didi

ios - 如何使用 popToViewController

转载 作者:行者123 更新时间:2023-11-28 09:55:32 27 4
gpt4 key购买 nike

我正在尝试导航到另一个 ViewController,但它没有通过 segue 连接,所以我对导航栏进行了编程,我想要的是当你按下名为“重新开始”的按钮时,我请求的 ViewController 出现,但是出现此错误:

“无法转换 MemeEditorViewController 类型的值。类型是预期的参数类型 UIViewController”

所以我不知道怎么处理。这是我的代码,也许你可以帮助我更好。

override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.rightBarButtonItem = UIBarButtonItem(title:"Start Over", style: .Plain, target: self, action: "startOver")
}
func startOver(){
if let navigationController = self.navigationController {
navigationController.popToViewController(MemeEditorViewController, animated: true)
}
}
}

最佳答案

如果只有一个类型为 MemeEditorViewControllerviewcontroller,您可以找到 Controller 并以这种方式弹出:

let  vc =  self.navigationController?.viewControllers.filter({$0 is MemeEditorViewController}).first

self.navigationController?.popToViewController(vc!, animated: true)

或者你需要知道 vc 在堆栈中的位置然后找到它:

let  vc =  self.navigationController?.viewControllers[1]

注意:当您推送 viewcontroller 时,navgationcontroller 会将其存储在数组 viewcontrollers 中,并带有强引用。你可以找到你插入其中的 viewcontroller 实例。

希望对你有帮助:D

关于ios - 如何使用 popToViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37980570/

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