在我的AppDelegate中,我检查是否已有用户登录。
if (userExists) {
// Set my main view as the root view controller.
UINavigationController *navController = [[UINavigationController alloc] init];
MainViewController *mainVC = [[MainViewController alloc] init];
[navController setRootViewController:mainVC animated:YES];
[self.window setRootViewController:navController];
}
如果没有现有用户,我会出现登录屏幕。
现在,一旦用户登录,我必须继续流程,显示MainViewController
。
我目前正在执行以下操作,在用户成功通过身份验证后调用的块中:
UINavigationController *navController = [[UINavigationController alloc] init];
MainViewController *mainVC = [[MainViewController alloc] init];
[navController setRootViewController:wordViewController animated:YES];
UIApplication *application = [UIApplication sharedApplication];
[application.windows.firstObject setRootViewController:navController];
这是一个好方法吗?由于这是整个iOS应用程序中频繁重复的模式,最常见,最明智的方法是什么?
答案 0 :(得分:0)
您可以在用户通过身份验证时重构继续流程的代码。您可以立即或成功登录后调用它。例如:
- (void)showMainScreenForUser:(UserType *)user
{
UINavigationController *navController = [[UINavigationController alloc] init];
MainViewController *mainVC = [[MainViewController alloc] initWithUser:user];
[navController setRootViewController:mainVC animated:YES];
[self.window setRootViewController:navController];
}