2013-05-02 71 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運行委託方法。