Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/107.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
Ios prepareForSegue从未从performSegueWithIdentifier调用_Ios_Xcode6 - Fatal编程技术网

Ios prepareForSegue从未从performSegueWithIdentifier调用

Ios prepareForSegue从未从performSegueWithIdentifier调用,ios,xcode6,Ios,Xcode6,我正在使用一个带有导航控制器和两个简单表视图的故事板在iOS教程中制作一个非常基本的应用程序 我用一个Show segue将初始视图连接到第二个视图,并给它一个标识符“S1”。在初始视图的视图控制器中,我有以下代码: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [tableView deselectRowAtIndexPath:indexPath

我正在使用一个带有导航控制器和两个简单表视图的故事板在iOS教程中制作一个非常基本的应用程序

我用一个Show segue将初始视图连接到第二个视图,并给它一个标识符“S1”。在初始视图的视图控制器中,我有以下代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [tableView deselectRowAtIndexPath:indexPath animated:YES];

    // Perform Segue
    [self performSegueWithIdentifier:@"S1" sender:self];
}
在第二个视图的视图控制器中,我有以下代码:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    NSLog(@"Triggered Segue");
}
但是,当我在第一个视图中选择一行时,NSLog调用从未发生过。第二个视图打开,但它是完全空白的


我肯定我错过了一些非常基本的东西,但我很困惑。我已经在didSelectRowAtIndexPath中设置了一个调试点,我可以确认它正在被调用。当我试图进入PerformSegue时,什么都没有发生。第二个视图中prepareForSegue中的断点不会触发,但viewDidLoad中的断点会触发。有关于新iOS开发的帮助吗

performsguewithidentifier手动触发Segue。您可以在prepareForSegue中设置变量等。这两种方法都需要在同一个视图控制器中。

准备阶段应该在第一个视图控制器中。我想是的,将准备阶段移动到已执行标记的同一视图控制器中。出于某种原因,我认为接收控制器将自行处理设置内容,而不是让发送控制器为其设置属性。