2

テンプレート マスター ディテール アプリケーションを使用しています。SplitViewController からモーダル セグエを追加し、「DisplayLoginView」という識別子を付けました。

私は私のdetailViewControllerから以下を呼び出します:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    [self.splitViewController performSegueWithIdentifier:@"DisplayLoginView"    sender:self.splitViewController];
}

また、detailViewController で定義された prepareForSegue メソッドもあります。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    NSLog(@"Source Controller = %@", [segue sourceViewController]);
    NSLog(@"Destination Controller = %@", [segue destinationViewController]);
    NSLog(@"Segue Identifier = %@", [segue identifier]);
    if ([segue.identifier isEqualToString:@"DisplayLoginView"])
    {
        PrometheusLoginViewController *loginViewController = (PrometheusLoginViewController *)segue.destinationViewController;
        loginViewController.delegate = self;
    }
}

呼び出されない理由について何か考えはありますか?

4

1 に答える 1

6

splitViewControllerにセグエを実行するように要求していますが、detailViewControllerでprepareForSegueを定義しています。prepareForSegueをトリガーするには、それらが同じオブジェクト上にある必要があります。

于 2012-02-21T15:54:48.527 に答える