我对IOS真的很陌生,所以如果这个问题措辞不明确,我深表歉意。我试过四处寻找,但我没有找到我要找的东西。
基本上在我的 AppDelegate applicationDidBecomeActive 方法中,我正在调用我的网络服务以确保用户仍然是有效用户,并拉下一些刷新的数据,或者如果它们不再有效则将它们踢回登录页面。
我遇到问题的部分是第二部分。当发现用户无效时,如何加载和显示特定的 ViewController(在本例中为 loginViewController)?我想让正常的 viewController 流程在它们有效时发生,这很好,但是当我需要从 AppDelegate 启动特定的 viewController 时,我不知道如何启动它们。
有任何想法吗?
我想我明白了!我在 AppDelegate 中使用了这段代码来显示我需要的 ViewController。
UIViewController *loginController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
UINavigationController *loginNavController = [self.window.rootViewController.storyboard instantiateViewControllerWithIdentifier:@"LoginNavController"];
UIViewController *currentVC = self.window.rootViewController;
_window.rootViewController = loginNavController;
[currentVC presentViewController:loginNavController animated:NO completion:nil];