我一直在阅读有关切换rootViewController窗口的几篇文章,有时有人说rootViewController在整个应用程序的生命周期中保持相同比切换它更好,而其他帖子与rootViewController在应用程序的某个时间点更改有关。我对此感到困惑,并且在 Apple 的文档中找不到关于这一点的任何建议。
当您的应用程序中可能有不同的内容视图控制器时,最佳实践应该是什么?例如,假设您有一个选项卡式应用程序 ( UITabBarController),您希望首先显示登录或注册 ( UINavigationController) 的欢迎视图:
1) 使用固定的方法rootViewController。我认为您应该将 设置UITabBarController为rootViewController,因为应用程序的核心是选项卡,但如果需要用户凭据,则UINavigationController在 中设置 a UITabBarController,隐藏选项卡栏,以推送欢迎视图并导航到登录/注册视图控制器。
2)接近切换rootViewController。首先,如果需要用户凭据,将 设置UINavigationController为rootViewController以显示欢迎视图并导航到登录/注册,一旦成功提供用户凭据或成功创建帐户,切换rootViewController到UITabBarController以显示核心选项卡式应用程序。
如果最好的通用方法是根据需要进行切换rootViewController,您会考虑哪些内存管理注意事项?我是否需要strong在 AppDelegate (UITabBarController和UINavigationController) 中有两个属性?切换时视图控制器之间的过渡又如何rootViewController:它是平滑的,还是应该为它设置动画?
提前致谢