2012-09-10 52 views
0

我有這樣的主菜單視圖控制器-thing,即,而不是在之間限定在我的故事板兩次,用塞格斯,在其自己的類的新實例上調用pushViewController。如此這般:「pushViewController」擁有類後跟「performSegueWithIdentifier」導致「接收器有具有標識符沒有賽格瑞」

menu_a --> menu_a --> option_x 

而不是

menu_a --> menu_b --> option_x 

推視圖控制器一次後,navigationController無法跟蹤相關塞格斯和我得到的「接收器與標識符的SEGUE」的消息。即,

menu_a --> option_y 

從不產生這種錯誤。

我GOOGLE了搜查堆棧溢出了,沒有運氣在過去的三個小時。 我希望有人在那裏試過同樣的事情,並希望詳細闡述一種解決方法。

+0

恭喜!如果您提供有關您的問題的具體細節,包括諸如源代碼和屏幕截圖等,則其他人可以更輕鬆地爲您提供幫助。儘管您對問題提出了很好的高級描述,但您可以通過包含比「主菜單視圖控制器」更具體的術語;您實例化並推送新視圖控制器的實際源代碼;以及您發現的任何解決方案都沒有幫助。希望這可以幫助你解答你的問題! –

回答

0

我不能保證這會工作,但這裏有雲:

大概是因爲塞格斯是一個故事板功能,調用performSegue是指回你的ViewController,是由故事板實例化。如this question中所述,可以請求故事板從它自己實例化一個新的ViewController,而不是手動創建它(這是我認爲你正在做的)。

UIStoryboard* storyboard = [[UIStoryboard storyboardWithName:@"MainStoryboard" bundle:[NSBundle mainBundle]]; 
UIViewController* dest = [storyboard instantiateViewControllerWithIdentifier:@"CustomController"]; 

嘗試從視圖控制器一個賽格瑞創建這樣可以有更多的運氣,因爲它應該有相關聯的相同SEGUE信息,而手動創建一個不會)。這只是一個理論 - 讓我知道,如果它在你的第一篇文章:)

+0

這看起來好像比我選擇了(希望)臨時一個更加美好的解決方案:我創建了故事板視圖控制器上的不可見的按鈕,並且它允許啓動一個SEGUE父視圖控制器。我只是通過它的標識符觸發該segue,因此它仍然保留其他可用的賽段。 (使用按鈕還是很痛苦 - 明天我會試試你的方法!非常感謝。) –

相關問題