2017-03-20 49 views
0

標題說明了一切。我試圖通過點擊一個按鈕來調用這個方法,但是一旦我點擊它,我的應用程序就會崩潰並顯示錯誤代碼:沒有用於segue的標識符 - 但是我確實設置了它!什麼可能是錯的?performSegueWithIdentifier說沒有segue的標識符。但我確實設定了它。怎麼了?

+0

向我們展示您所調用的segue上標識符的截圖,以及您稱之爲「自我執行」的控制器的聲明。我告訴你,有一個不匹配;) –

+0

http://imgur.com/a/IZaGR – konyv12

+0

好吧,你弄錯了:)讓我輸入一個詳細的答案 –

回答

1

segue是兩個UIViewControllers之間的故事板鏈接,您可以通過在兩個控制器之間使用右側clic或ctrl + clic來拖動它們來添加它們。

他們看起來像這樣segue

這是一個在中間的小箭頭。

點擊它,進入屬性檢查器(右上角的小圖標,看起來像一個盾牌)。

在那裏,您可以設置segue標識符。

它看起來像這樣segue

注意這是一個古老的截圖,我隨機拿了通過快速搜索,但它仍然看起來非常像這樣。

您必須致電代碼中的標識符,而不是控制器的故事板ID。它們是兩個完全不同的東西,儘管起初很容易想到。

您從代碼調用segue而不是控制器的原因是(除其他外),因爲您可以在segue中設置各種設置,如動畫樣式,或者根本不存在動畫。

你可以在網上查看很多指南,看看你可以用segues做些什麼(和放鬆segues!)。但起初,默認設置對於學習來說會很好。

+0

謝謝你的詳細答案,但是我的問題仍然存在,因爲我無法設置這些字段(灰色文本)。爲什麼會這樣? – konyv12

+0

「標識符」字段灰顯,您說的是?你是否100%確定你在賽格設置,在正確的面板? –

+0

我不想聽起來像一個傲慢的人,但如果你要說是的,請提供你的屏幕的大屏幕截圖:P –

相關問題