2013-05-02 69 views
1

2个UIViewControllers之间执行赛格瑞我有赛格瑞2 UIViewControllers之间例如A至B.在另一个UIViewController(说C),我有UITableView作为subview和当我点击在本C中的行的一个,我想执行从A到B之间的继续。可能吗?从第三UIViewController中

我使用MFSideMenu作为左侧滑动菜单,为所有UIViewControllers呈现C

什么时候,我想[UIViewController performSegueWithIdentifier:sender:]didSelectRowAtIndexPath,segue没有执行并抛出一个错误。

请建议。

+0

什么是错误? – rdurand 2013-05-02 11:57:47

+0

@rdurand,我没有得到segue与identifer错误 – 2013-05-02 12:17:05

+0

你有没有在你的故事板中正确设置你的segue的标识符?检查拼写? – rdurand 2013-05-02 12:18:57

回答

0

如果你UIViewController C,你有你的UIViewController *vcA一个参考,你可以尝试:

[vcA performSegueWithIdentifier:@"identifier" sender:self]; 

我不能完全肯定这会工作,但它比[UIViewController performSegueWithIdentifier:sender:]更好,因为你不能直接在课堂上致电performSegueWithIdentifier:

0

不能从UIViewController的执行赛格瑞如果这个视图控制器不包含此赛格瑞

而是使用[self.storyboard instantiateViewControllerWithIdentifier:SEGUE_IDENTIFIER],然后推到在SEGUE目标视图控制器。

好运

+0

如果我们使用它,我听说每次创建UIViewController的新实例并且它都不安全。请纠正我,如果我的想法是错误的 – 2013-05-02 12:52:03

+0

你是对的,所以你可以参考目标视图控制器在应用程序委托,然后在需要时调用它 – 2013-05-02 12:54:36

0

我在想一些类似于@rdurands的工作。如果没有,那么你可以设置一个委托方法,其中UIViewController * vcA是UIViewController * vcC的委托。然后,当vcC需要执行segue时,它会调用执行segue的委托方法,并从vcA运行委托方法。