我正在使用带有导航控制器和两个简单表格视图的故事板,在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中设置了一个调试点,我可以确认它正被调用。当我尝试进入performSegueWithIdentifier时没有任何反应。我的第二个视图中的prepareForSegue中的断点不会触发,但viewDidLoad中的断点不会触发。有没有新iOS开发的帮助?
答案 0 :(得分:2)
performSegueWithIdentifier手动触发Segue。您有机会在prepareForSegue中设置变量等。两种方法都需要在同一个ViewController中。