Ios 警告:试图在视图不在窗口层次结构中的ViewController上显示UINavigationController
我正在开发一款ios应用程序,我对它还不熟悉。所以,我得到了这个错误。我想做的是,当用户首次在应用程序上注册时,他们的用户名将使用NSUserdefault本地存储在手机上 现在,如果他们关闭并重新打开应用程序,应用程序将通过第一个视图控制器,并在viewdidload方法中检查USUserdefault的长度是否大于零,如果是,则通过执行segue调用转到主活动。然而,当我运行它时,我得到了这个错误 这就是我在故事板上所做的。 这是firstviewcontroller中的代码Ios 警告:试图在视图不在窗口层次结构中的ViewController上显示UINavigationController,ios,objective-c,Ios,Objective C,我正在开发一款ios应用程序,我对它还不熟悉。所以,我得到了这个错误。我想做的是,当用户首次在应用程序上注册时,他们的用户名将使用NSUserdefault本地存储在手机上 现在,如果他们关闭并重新打开应用程序,应用程序将通过第一个视图控制器,并在viewdidload方法中检查USUserdefault的长度是否大于零,如果是,则通过执行segue调用转到主活动。然而,当我运行它时,我得到了这个错误 这就是我在故事板上所做的。 这是firstviewcontroller中的代码 - (voi
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *user = [prefs stringForKey:@"userName"];
if(user.length>0){
NSLog(@"Going straight to main %s", "Yes");
[self performSegueWithIdentifier:@"startMain" sender:self];
}
}
您只需将该方法移动到ViewDidDisplay即可:
-(void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults]; NSString *user = [prefs stringForKey:@"userName"];
if(user.length>0){
NSLog(@"Going straight to main %s", "Yes");
[self performSegueWithIdentifier:@"startMain" sender:self];
}
}
你哪里来的错误?我真的不明白。当我第一次启动应用程序并加载firstviewcontroller.Perfect时,我收到错误。谢谢,伙计,成功了。我需要再等7分钟才能接受你的回答。@MichaelNana很乐意帮忙!