Ich habe einen Show-Übergang zwischen zwei ViewControllern in meinem Storyboard. Bei Anruf performSegueWithIdentifier:
, erhalte ich eine NSInvalidArgumentException
:Storyboard denkt, dass Segue nicht existiert. Aber es tut
Receiver (<[MY VIEWCONTROLLER SUBCLASS]: 0x7fc9e99f0640>) has no segue with identifier 'HomeToSettings''
Die Segue existiert definitiv und angeschlossen ist, und es gibt viele andere segues auf dem gleichen Ursprung, die Viewcontroller funktionieren.
Im Quellcode für das Storyboard, zeigt das Segue wie alle Arbeitende auf:
<connections>
<outlet property="notificationsButton" destination="hG9-8E-sv6" id="mn0-1x-Qxj"/>
<outlet property="settingsButton" destination="Fy0-au-d6J" id="r1c-fG-KOP"/>
<outlet property="tableView" destination="9bJ-Cd-hc3" id="Wuy-hJ-QVU"/>
<segue destination="ad8-yH-D5h" kind="show" identifier="HomeToCreateList" id="bsg-J2-Gp3"/>
//More segues...
<segue destination="pNX-Jw-wau" kind="show" identifier="HomeToNotifications" id="B2t-BE-YpW"/>
<segue destination="xge-ah-WXM" kind="show" identifier="HomeToSettings" id="nTa-qO-SCb"/>
</connections>
ich versucht habe:
- das Storyboard
- Löschen Umbenennen und die Neuen segue
- Umbenennen des Abschnitts
- Reinigung des Projekts
- Die App
- Reset-Inhalte und Einstellungen auf dem Simulator
- Physikalisches Gerät Neuinstallieren
Xcode und iOS sind auf dem neuesten Stand zum 1. Juni 2016.
Wenn es irgendwie wichtig ist, Ich trigge den Übergang über eine IBAction, die an ein UIBarButtonItem angehängt ist, aus. Ein anderer Übergang zu einem anderen ViewController von einem anderen UIBarButtonItem funktioniert jedoch einwandfrei.
Die genaue Linie mit dem ich die Segue bin Aufruf ist:
[self performSegueWithIdentifier:@"HomeToSettings" sender:self];
ich hier wirklich bin verloren.
helfen Haben Sie überprüft, ob die segue in der Größenklasse verfügbar ist Sie testen? – dasdom
Wie mache ich das? –
Gehen Sie in den Schnittstellen-Builder. Am Ende steht etwas "Any: Any" oder so. Wechseln Sie zu der Größenklasse, die Sie testen, und prüfen Sie, ob das Segment noch vorhanden ist. Übrigens: Interface Builder ist aus mehreren Gründen schlecht. Sie sollten die Benutzeroberfläche im Code erstellen. – dasdom