在iOS应用中进行用户身份验证后继续流动的最佳做法是什么?

时间:2014-03-03 18:51:23

标签: ios iphone objective-c ios7

在我的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应用程序中频繁重复的模式,最常见,最明智的方法是什么?

1 个答案:

答案 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];
}