如何在iOS上调用Rootview控制器

在我的iOS应用程序启动即时检查用户是注册用户还是新用户(如Facebook和Skype),比如果用户不注册我导航应用程序注册屏幕与我的应用程序委托:

if (user != register){ RegisterViewController *registerViewController = [[RegisterViewController alloc] init]; RearViewController *rearViewController = [[RearViewController alloc] init]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:registerViewController]; self.viewController = revealController; self.window.rootViewController = self.viewController; self.window makeKeyAndVisible]; }else { FrontViewController *frontViewController = [[FrontViewController alloc] init]; RearViewController *rearViewController = [[RearViewController alloc] init]; UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController]; RevealController *revealController = [[RevealController alloc] initWithFrontViewController:navigationController rearViewController:rearViewController]; self.viewController = revealController; self.window.rootViewController = self.viewController; [self.window makeKeyAndVisible]; } 

这样如果用户没有注册我现在有注册屏幕作为主窗口,

我的问题是:用户完成注册后,我得到两个导航控制器在我的屏幕上

我在用着:

 [[self navigationController] pushViewController:revealController animated:YES]; 

导航应用程序到我的主视图控制器,因为用户现在注册,

如何解决这个问题,有没有其他办法来解决注册用户问题

由于您需要另一个根视图控制器,为什么不设置它而不是推送到另一个navController堆栈:

 [[UIApplication sharedApplication] keyWindow].rootViewController = revealController;