我有一个带有嵌入式导航控制器的故事板(xcode5)(导航控制器指向我的主视图控制器)。
我已经为新的视图控制器创建了一个segue名称,我希望通过我的代码打开它。
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"Segue");
}
视图控制器确实打开但是prepareForSegue永远不会运行,为什么?
我试过
[self performSegueWithIdentifier:@"segueTo" sender:self];
然后我收到运行时错误,说它无法找到segue名称。
答案 0 :(得分:1)
认为您要尝试执行必须从viewcontroller1
(嵌入在导航控制器中)链接到newviewcontroller
。在故事板中,确保将连接segue命名为“segueTo”。然后在viewcontroller1
中,致电:
[self performSegueWithIdentifier:@"segueTo" sender:self];
而不是:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
这可以解决您的问题。
答案 1 :(得分:0)
替换此行:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
与
[self performSegueWithIdentifier:@"segueTo" sender:self];
应该有所帮助。