Ios 应用程序始终显示LoginViewController,即使它应该转到ViewController

Ios 应用程序始终显示LoginViewController,即使它应该转到ViewController,ios,objective-c,Ios,Objective C,出于某种原因,每当我尝试运行我的应用程序时,应用程序总是会转到LoginViewController,即使当passwordCheck具有非空值时,它应该转到ViewController 警告:尝试显示其视图不在窗口层次结构中的对象 在我从.xib文件切换到使用故事板之前,这是可行的。这是我的代码(它当前位于LoginViewController.m) if (passwordCheck) { NSLog(@"%@", usernameField.text);

出于某种原因,每当我尝试运行我的应用程序时,应用程序总是会转到
LoginViewController
,即使当
passwordCheck
具有非空值时,它应该转到
ViewController

警告:尝试显示其视图不在窗口层次结构中的对象

在我从.xib文件切换到使用故事板之前,这是可行的。这是我的代码(它当前位于
LoginViewController.m

if (passwordCheck) {
        NSLog(@"%@", usernameField.text);

        // Persist the Username for recovery later
        [[NSUserDefaults standardUserDefaults] setObject:usernameField.text forKey:kUsernameDefaultsKey];
        [[NSUserDefaults standardUserDefaults] synchronize];


        NSError *error = nil;
        [STKeychain storeUsername:[NSString stringWithFormat:@"%@", usernameField.text] andPassword:[NSString stringWithFormat:@"%@", passwordField.text] forServiceName:@"LoginApp" updateExisting:YES error:&error];

        ViewController *viewControl = [self.storyboard instantiateViewControllerWithIdentifier:@"MainControllerNav"];

        // Send username to ViewController

        AppDelegate *dataCenter = (AppDelegate *) [[UIApplication sharedApplication] delegate];

        dataCenter.usernameData = usernameField.text;

        NSLog(@"%@", dataCenter.usernameData);

        viewControl.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
        [self presentViewController:viewControl animated:YES completion:nil];

        [[UIApplication sharedApplication] setNetworkActivityIndicatorVisible:NO];
    } else {

        NSLog(@"Finish viewDidLoad and wait for future instructions from user.");
}

我尝试使用修复它,但两者都没有帮助。我如何解决此问题?提前谢谢。

此代码在哪里?在ViewDiLoad中?如果是,这就是您的问题。在当前控制器添加到窗口层次结构之前,您不能显示另一个控制器。请将代码放入ViewDidDisplay中,然后显示下一个控制器w如果您不想看到登录控制器,则不显示动画。

您的navigationcontroller应该是Windows的rootviewcontroller,否则运行时您将出现此错误。为什么在该代码中使用
self-presentViewController
?问题与标题不匹配-您的登录视图已显示。。。