0

我给了我的 segue 身份 modaltomenu

模态菜单

在我的代码中,我使用以下内容调用 segue:

if([login_status isEqualToString:@"success"]){
            //start the menuviewcontroller
            [self performSegueWithIdentifier:@"modaltomenu" sender:self];

            NSLog(@"segue %@", @"performed");
        }

if 语句始终为真。

然而,第二个视图永远不会加载。此代码在第一个视图加载时运行。

为什么我的 segue 没有加载?

谢谢!

4

2 回答 2

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");
    }
}
于 2012-07-13T15:30:18.330 回答
1

要进一步排除故障,请将其放入该 VC:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    NSLog(@"segue identififer = %@",segue.identifier);
}

并确保您的代码viewDidLoad按预期执行。如果没有,您可能需要重新考虑调用该performSegue方法的位置。

于 2012-07-13T15:42:17.777 回答