ios - Storyboard segue 崩溃和 UINavigationController 最佳实践

标签 ios iphone objective-c

我使用的是基于 Storyboard的设置,并且有一个 UINavigationController 可以像他们一样跟踪一组 UIViewControllers...我有一个主 UIViewController 作为“主屏幕”,所有事件和任务都从那里分支.

就目前而言,在某些情况下,我会跳转到 Root View Controller ,而在某些情况下,我实际上有一个 segue 指向根“主屏幕” View Controller 。

当我回到主视图 Controller 然后再次离开那里时,我已经看到一些崩溃弹出......错误是

Could not find a navigation controller for segue 'xxx'. Push segues can only be used when the source controller is managed by an instance of UINavigationController.

...这会不会因为我的 Storyboard的周期性而发生?我可以将这些 segues 返回到主视图 Controller 吗?这会创建另一个主视图 Controller 实例吗?我应该总是弹出到 root 吗?

最佳答案

不,“返回”任何带有 segue(unwind 除外)的 Controller 是不正确的,因为,是的,它确实创建了一个新实例。如果你想返回,你必须在基于导航 Controller 的应用程序中使用 unwind segue 或 popToRootViewController(或任何其他 pop 方法)。

关于ios - Storyboard segue 崩溃和 UINavigationController 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19994017/

相关文章:

ios - facebook iphone - 如何在不同用户下登录

iphone - Xcode 4/LLVM 3.0——让它更智能地处理 "no known instance method for selector"错误?

iphone - 如何在 iPhone 中保存 plist 文件中的值?

ios - 谷歌 ios 分析不适用于少数屏幕

ios - 将推送通知角标(Badge)添加到 UIButton

ios - 事件指示器未出现

ios - 如何从AppStore中的iTunes帐户下载我的付费或拒绝的应用程序ipa

ios - NSString 中的对象太多? %@.%@.%@ 产生格式错误

iphone - iOS Overlay View 总是位于顶部?

ios - 通过xcode5的xib设计时导航栏按钮item图片颜色不同