放松segues和弹出窗口控制器有什么区别?

我正在处理的应用程序需要实现一个工作流程,以允许用户在表单中输入信息。 我没有使用滚动视图,而是计划将其分解为一组独立的视图控制器,这些控制器将由导航控制器管理。 我首先在故事板中布置所有表单片段,然后开始连接表单不同部分的所有推送和展开segue。

我的问题是,如何使用所有这些推进和展开segue比简单地使用我的导航控制器的pushViewController和popToViewController方法,并完全跳过故事板? 内存管理或性能方面有什么不同吗? 在设计和可维护性方面,不仅仅使用push和pop是更好的做法吗? 我无法在解决此问题的文档中找到任何内容。

他们所做的事情基本上没有区别。 使用unwinds的一件好事是,你可以将数据传递回你正在解开的控制器。 如果使用pop方法,则必须创建委托协议才能执行此操作。 但其中很多都是主观的。 您可以使用哪种方式更舒适。 我喜欢使用故事板,因为它可以很容易地看到控制器之间的关系。 当你在一个大型团队工作时,使用故事板可能是一个问题(所以我已经听说过了),这是另一个考虑因素。

这是一个很好的问题。

在我的第一个iOS项目中,我在线跟踪教程并使用了storyboard segues等。在我的第二个iOS项目中,我废弃了它,只是推送和弹出视图控制器。

我实际上发现它更干净,因为使用storyboard方式,你必须调用performSegueWithIdentifier ,然后你可以通过与prepareForSegue同步来准备接收视图控制器。 为什么在准备视图控制器并将其全部放在一个位置时呢?

此外,它将视图控制器与转换分离。 它打开了一切,允许更多function……更快速的发展。

所以我对此事的看法就是推送和弹出视图控制器。 也许有人会让我看起来愚蠢,但我只是使用这种方法取得了很大的成功。