我一直在阅读几篇关于切换窗口rootViewController
的帖子,有时会说在整个应用程序的生命周期中保持相同的rootViewController
比切换它和其他帖子更好与在应用程序的某个位置更改rootViewController
有关。我对此感到困惑,我在Apple的文档中找不到关于这一点的任何建议。
当您在应用中可能有不同的内容视图控制器时,最佳做法是什么?例如,假设您有一个标签式应用(UITabBarController
),您希望首先显示登录或注册的欢迎视图(UINavigationController
):
1)使用固定rootViewController
的方法。我认为您应该将UITabBarController
设置为rootViewController
,因为应用的核心是标签式的,但如果需要用户凭据,则在UINavigationController
内设置UITabBarController
,隐藏标签栏,推送欢迎视图并导航到登录/注册视图控制器。
2)方法转换rootViewController
。首先,如果需要用户凭据,请将UINavigationController
设置为rootViewController
以显示欢迎视图并导航到登录/注册,并在成功提供用户凭据或帐户成功创建后,切换{ {1}}向rootViewController
显示核心标签应用。
如果最佳通用方法是根据需要切换UITabBarController
,您需要考虑哪些内存管理注意事项?我应该在AppDelegate(rootViewController
和strong
)中拥有两个UITabBarController
属性吗?那么在切换UINavigationController
时视图控制器之间的转换怎么样?它会是平滑的,还是应该为它设置动画?
提前致谢
答案 0 :(得分:0)
切换rootViewController的方法很合适。首先,如果需要用户凭据,请将UINavigationController
设置为rootViewController以显示欢迎视图并导航到登录/注册,并在成功提供用户凭据或帐户成功创建后,将rootViewController切换到{{ 1}}显示核心标签应用
如果您想在tabbarcontroller中存储用户凭据。将它们存储在主要包中的UITabBarController
或NSUserDefaults
中,或者在文档目录中创建。