【发布时间】:2018-05-09 16:21:45
【问题描述】:
我正在构建一个应用程序,我决定在多个 Storyboard 文件中构建我的用户界面。每个 Storyboard 都是一组相似的动作。例如,LogInStoryboard 包含用于登录和注册用户的视图。
我在导航到新的 Storyboard 并关闭所有以前的视图控制器以自行清理时遇到了一些问题。
这是我的数据流:
1) 应用程序启动到登录视图。根视图控制器是LogInViewController,它位于LogInStoryboard。
2) 用户点击注册按钮召唤模态RegistrationViewController,也住在LogInStoryboard。
3) 用户完成注册并自动登录。
此时,视图控制器堆栈为[LogInViewController, RegistrationViewController]。注册后,用户会自动登录,所以我想导航到他们的主屏幕,HomeViewController。然而,HomeViewController 存在于另一个 Storyboard HomeStoryboard 中。
我想同时关闭LogInViewController 和RegistrationViewController,然后我想从HomeStoryboard 实例化HomeViewController 并呈现它。这样我就有了一个简单的视图控制器堆栈,LogInStoryboard 视图控制器都可以被释放。
实现这种流程的最佳方式是什么?还是我应该如此担心那些旧的视图控制器?
【问题讨论】:
-
这听起来确实像您在寻找协调器模式或流控制器。即使您可能必须更改代码,但它的定义是值得的。更好地通过您的应用程序和代码进行操作!
标签: ios swift storyboard uikit