【问题标题】:Navigation Error in Swift [duplicate]Swift 中的导航错误 [重复]
【发布时间】:2015-04-07 17:16:18
【问题描述】:

导航到下一个控制器的“here”按钮具有 segue 名称“gotoSignUp”,但在程序中,我单击了“here”按钮并且存在错误。我的代码导航有问题吗? Segue 名称“gotoLogin”完全没有问题,但“gotoSignUp”在我单击“此处”按钮后出现错误。

【问题讨论】:

  • 您收到的错误信息是什么?
  • 存在哪个错误?
  • 在调用 shouldPerformSegue 时,某些东西已经调用了 segue,因此您不应该在 shouldPerformSegue 中调用 performSegue。删除该行,看看是否能修复错误
  • @pasta12 我会将错误作为图片在这里发布,我现在再次编辑帖子,但由于错误太长,我部分打印屏幕
  • 您遗漏了实际错误...

标签: ios xcode swift ios8 xcode6


【解决方案1】:

您不应该手动执行转场,它已经自行发生了。

代理询问您是否应该发生具有该标识符的转场,所以如果它是“gotoSignUp”,只需返回 true 以使其继续

【讨论】:

  • 这是不行的,因为我刚刚试过了,我还以为return true是解决的办法,但是没有。
  • 我觉得没有必要否决我们的答案,因为它们可能不是实际的解决方案(由于当时的信息有限,它们可能有),而且,它们并没有错,你仍然不应该手动执行segue
  • 我不是反对你的人,我已经投票支持你将此评论设为 0 :)
【解决方案2】:

我已经解决了我的问题,这是 ios 8 的 xcode 6 错误。Apple 直到现在还没有解决这个问题,我只是禁用了右侧控制器中的自动布局,然后它现在可以导航了。

【讨论】:

    【解决方案3】:

    shouldPerformSegue 内只需要返回truefalse。你不应该在这个方法中调用performSegueWithIdentifier

    if idintifier == "gotoSignUp"
    {
        return true
    }
    

    【讨论】:

    • 是的,我是这样写的,效果不好
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多