Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios5 未调用prepareforsgue_Ios5_Uisplitviewcontroller_Segue_Uistoryboard - Fatal编程技术网

Ios5 未调用prepareforsgue

Ios5 未调用prepareforsgue,ios5,uisplitviewcontroller,segue,uistoryboard,Ios5,Uisplitviewcontroller,Segue,Uistoryboard,我正在使用模板主详细信息应用程序。我已经从SplitViewController添加了一个模式segue,并给它一个标识符“DisplayLoginView” 我从我的detailViewController调用以下命令: - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:YES]; [self.splitViewController performSegueWithIdentifier:@"DisplayLo

我正在使用模板主详细信息应用程序。我已经从SplitViewController添加了一个模式segue,并给它一个标识符“DisplayLoginView”

我从我的detailViewController调用以下命令:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    [self.splitViewController performSegueWithIdentifier:@"DisplayLoginView"    sender:self.splitViewController];
}
- (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;
    }
}
我还在detailViewController中定义了prepareForSegue方法:

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:YES];
    [self.splitViewController performSegueWithIdentifier:@"DisplayLoginView"    sender:self.splitViewController];
}
- (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;
    }
}

知道为什么不调用它吗?

您要求splitViewController执行该步骤,但您在detailViewController中定义了prepareForSegue。它们必须在同一个对象上才能触发PrepareForsgue。

啊,愚蠢的错误。从另一个线程中,我认为我必须从splitViewController中呈现它,否则它将无法工作。将segue从detailViewController更改为go,并将其更改为[SelfPerformsgueWithIdentifier:@“DisplayLoginView”发送方:self];它是有效的。谢谢很好,你真的发布了有用的东西。将使用此选项使用segues在视图之间存储数据。