Push segues只能在由UINavigationController管理时使用

时间:2018-02-16 10:22:22

标签: ios uinavigationcontroller storyboard

这是一个众所周知的错误,但我只是通过Crashlytics得到这个。我无法在网上重现这一点。

如果我浏览故事板中的路径,一切似乎都很好并嵌入在UINavigationController中(默认和最常见的答案)。

有人知道如何调试这个吗? Crashlytics不会展示真正的合作途径。

1 个答案:

答案 0 :(得分:0)

我得到了我的再现:

  • 在某些情况下,网络请求完成后会触发segue(我知道......)。
  • 在等待网络完成时,你可以对导航堆栈做各种奇怪的事情。
  • 网络完成并尝试执行原始segue
  • 崩溃。

解决方案是:

if (self.navigationController) {
  [self
    performSegueWithIdentifier:"mySegue"
    sender:self];
}

发布在此处以供将来参考,也许对其他开发人员有帮助。