主控制器
通常在应用程序中,我们有以下流程:入职,登录,主要。 而且我们通常根据状态分别将OnboardingController
, LoginController
和MainController
为根视图控制器。
我发现将MainController
用作主流的容器很有用。 它可以是选项卡控制器,滑动菜单控制器或仅包含1个子视图控制器。 屏幕由子视图控制器提供,但是MainController
进行以下工作
状态栏样式
我们通常需要在父控制器上调用preferredStatusBarStyle
。 参见stackoverflow.com/questions/19022210/preferredstatusbarstyle-isnt-called
应用已启用
通常,当应用程序进入前台时,我们需要获取登录的用户配置文件以查看是否有更改。 我们通过监听app did become active
在MainController
app did become active
来做到这一点。
模拟打开
这可以是反模式。 但是在UI测试中,出于懒惰,我们可以只使用一些启动参数并检查以显示要测试的特定屏幕,因为MainController
是主流的根。
登出
因为事物起源于MainController
,所以事物可以终止于MainController
。 我们可以处理logout
,清除状态,并告诉MainController
告诉AppDelegate
切换到另一个根控制器
原始故事https://github.com/onmyway133/blog/issues/36