gpt4 book ai didi

swift - 如何让 ViewController 反复连接到自身。

转载 作者:行者123 更新时间:2023-11-30 13:29:22 25 4
gpt4 key购买 nike

SWIFT:在我的 Storyboard中,嵌入在 NavigationController 中,我有一个 ViewcontrollerA,它需要重复呈现自身或基于 if 子句呈现 ViewcontrollerB。

我已经在prepareForSegue方法中实现了逻辑。我绘制了从 ViewcontrollerA 到 ViewControllerB 的 Segue。

    if (someClause == true)
{
let svc = segue.destinationViewController as! ViewControllerA

} else {

let svc = segue.destinationViewController as! ViewControllerB
}

执行此代码会出现以下错误:无法将“ViewControllerB”类型的值转换为“ViewControllerA”。

那是因为从 ViewControllerA 到 ViewControllerA 没有转场。转场是从 ViewControllerA 到 ViewControllerB。

有没有办法让一个“按钮”拥有多个segues?一根连接到 ViewControllerA(本身),一根连接到 ViewControllerB。我知道这对于 TableViewCells 是可能的。

旁注,我已经设法实例化ViewControllerWithIdentifier,然后调用presentViewController来执行我想要的操作,但这会破坏我的NavigationStack和TabBar。我不想走这条路,因为这看起来需要大量的修补工作。

最佳答案

您应该在 ViewControllerA 到 ViewControllerB 之间创建一个 Segue,而不是在 ViewControllerB 之间创建一个 Segue。然后做类似的事情:

@IBAction func buttonPressed(sender: UIButton) {

if (someClause == true)
{
// Stay on ViewControllerA

} else {

performSegueWithIdentifier("showB", sender: AnyObject)
}
}

override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if (segue.identifier == "showB") {
let _ = segue.destinationViewController as? ViewControllerB
}
}

关于swift - 如何让 ViewController 反复连接到自身。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36748939/

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