我给了我的segue身份modaltomenu
在我的代码中,我使用以下内容调用segue:
if([login_status isEqualToString:@"success"]){
//start the menuviewcontroller
[self performSegueWithIdentifier:@"modaltomenu" sender:self];
NSLog(@"segue %@", @"performed");
}
if语句始终为true。
但是从未加载第二个视图。加载第一个视图时会运行此代码。
为什么我的segue装载?
谢谢!
答案 0 :(得分:1)
你说代码是在第一个视图加载时运行的,所以我是否正确地在viewDidLoad方法中假设它?如果是这样,请尝试将该if语句移动到视图控制器生命周期中的viewDidAppear方法。 ViewDidLoad通常只发生一次,而每次视图出现在屏幕上时都会调用viewDidAppear。所以它看起来像......
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:YES];
if([login_status isEqualToString:@"success"]){
//start the menuviewcontroller
[self performSegueWithIdentifier:@"modaltomenu" sender:self];
NSLog(@"segue %@", @"performed");
}
}
答案 1 :(得分:1)
要进一步排查,请将其放入VC:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"segue identififer = %@",segue.identifier);
}
确保viewDidLoad
中的代码按预期执行。如果没有,您可能需要重新考虑调用performSegue
方法的位置。