標題說明了一切。我試圖通過點擊一個按鈕來調用這個方法,但是一旦我點擊它,我的應用程序就會崩潰並顯示錯誤代碼:沒有用於segue的標識符 - 但是我確實設置了它!什麼可能是錯的?performSegueWithIdentifier說沒有segue的標識符。但我確實設定了它。怎麼了?
回答
segue是兩個UIViewControllers
之間的故事板鏈接,您可以通過在兩個控制器之間使用右側clic或ctrl + clic來拖動它們來添加它們。
這是一個在中間的小箭頭。
點擊它,進入屬性檢查器(右上角的小圖標,看起來像一個盾牌)。
在那裏,您可以設置segue標識符。
注意這是一個古老的截圖,我隨機拿了通過快速搜索,但它仍然看起來非常像這樣。
您必須致電,代碼中的標識符,而不是控制器的故事板ID。它們是兩個完全不同的東西,儘管起初很容易想到。
您從代碼調用segue而不是控制器的原因是(除其他外),因爲您可以在segue中設置各種設置,如動畫樣式,或者根本不存在動畫。
你可以在網上查看很多指南,看看你可以用segues做些什麼(和放鬆segues!)。但起初,默認設置對於學習來說會很好。
謝謝你的詳細答案,但是我的問題仍然存在,因爲我無法設置這些字段(灰色文本)。爲什麼會這樣? – konyv12
「標識符」字段灰顯,您說的是?你是否100%確定你在賽格設置,在正確的面板? –
我不想聽起來像一個傲慢的人,但如果你要說是的,請提供你的屏幕的大屏幕截圖:P –
- 1. 安裝了Rails,但它說我沒有:)
- 2. 我在CMD中設置了HTTP_PROXY,但是IDLE沒有識別它
- 3. TypeLoadException說'沒有實現',但它實現了
- 4. performSegueWithIdentifier沒有從放風segue
- 5. 函數沒有定義,但我很確定我定義了它..我錯過了什麼?
- 6. 當我搜索`本地主機:3000 /用戶`,它說沒有找到。怎麼了?
- 7. Django LocaleMiddleware爲我確定了語言。我怎麼知道它確定的語言?
- 8. Vim說'missing:endif',但我確定它有
- 9. performSegueWithIdentifier不會產生帶標識符錯誤的segue
- 10. 字符常量對於它的類型來說太長了,怎麼了?
- 11. SQL INSERT沒有指定列。怎麼了?
- 12. Scanf在C中沒有正確讀取字符串。怎麼了?
- 13. 瞭解performSegueWithIdentifier
- 14. 它說我的代碼錯了,但爲什麼?
- 15. 怎麼了£符號
- 16. 「org.hibernate.ObjectNotFoundException:不存在具有給定標識符的行」但它確實存在
- 17. 我是怎麼了?
- 18. git說我已經取消了更改但我沒有顯示
- 19. 安裝導軌 - 它說我沒有,即使我做了
- 20. 調用performSegueWithIdentifier時發生崩潰,驗證過的segue標識符字符串
- 21. org.hibernate.AnnotationException:沒有爲實體指定的標識符 - 即使它是
- 22. 我宣佈了一個變量,但它是「沒有定義」
- 23. 沒有方法錯誤,但我定義了它
- 24. 安裝了PHP加速器,但symfony 3沒有識別它
- 25. 我的湯怎麼了?
- 26. 我的循環怎麼了?
- 27. 我的代碼怎麼了?
- 28. 我的記憶怎麼了?
- 29. FakeItEasy說MustHaveHappened沒有發生......但它確實
- 30. 鈦認爲我有3.1.2,但我安裝了3.4.1。該怎麼辦?
向我們展示您所調用的segue上標識符的截圖,以及您稱之爲「自我執行」的控制器的聲明。我告訴你,有一個不匹配;) –
http://imgur.com/a/IZaGR – konyv12
好吧,你弄錯了:)讓我輸入一個詳細的答案 –