Ios 未执行prepareforsgue
我有一个带有嵌入式导航控制器(导航控制器指向我的主视图控制器)的故事板(xcode5) 我已经为一个新的视图控制器创建了一个segue名称,我想通过代码打开它Ios 未执行prepareforsgue,ios,objective-c,Ios,Objective C,我有一个带有嵌入式导航控制器(导航控制器指向我的主视图控制器)的故事板(xcode5) 我已经为一个新的视图控制器创建了一个segue名称,我想通过代码打开它 [[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self]; - (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSLog(@"Se
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
NSLog(@"Segue");
}
视图控制器确实打开了,但prepareForSegue永远不会运行,为什么
我试过了
[self performSegueWithIdentifier:@"segueTo" sender:self];
但是我得到一个运行时错误,说它找不到segue名称。替换这一行:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
与
它应该会有帮助。替换此行:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
与
它应该会有所帮助。您尝试执行的序列必须从
视图控制器1
(嵌入导航控制器)链接到新视图控制器
。在情节提要中,确保已将连接segue命名为“segueTo”。然后在视图控制器1
中,调用:
[self performSegueWithIdentifier:@"segueTo" sender:self];
而不是:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
这应该可以解决您的问题。您尝试执行的序列必须从
viewcontroller1
(嵌入导航控制器)链接到newviewcontroller
。在情节提要中,确保已将连接segue命名为“segueTo”。然后在视图控制器1
中,调用:
[self performSegueWithIdentifier:@"segueTo" sender:self];
而不是:
[[self navigationController] performSegueWithIdentifier:@"segueTo" sender:self];
这应该可以解决您的问题。您是否确实在interface builder中设置了segue的名称?是的,但设置错误。我从导航控制器而不是主视图控制器建立了连接。现在,当我从主视图控制器进行模式连接时,它可以工作:)谢谢你真的在interface builder中设置了segue的名称吗?是的,我设置了,但错误了。我从导航控制器而不是主视图控制器建立了连接。现在,当我从主视图控制器建立模式连接时,它可以工作:)感谢这可以工作,但是我必须从主视图控制器和新视图控制器建立正确的连接。我是从导航控制器开始的,这是错误的。是的,这是可行的,但我必须从主视图控制器和新视图控制器建立正确的连接。我是从导航控制器开始做的,这是错误的。