Ich habe ein paar Ansichten in einen Navigationscontroller eingebettet.
Ich habe ein paar Übergänge erstellt (einige von Buttons zu anderen View-Controllern, manche von einem View-Controller zu einem anderen).
zum Beispiel habe ich einen Übergang (Show) von einer Taste zu einem View-Controller namens name2, wenn ich die Taste drücke funktioniert es großartig, aber wenn ich versuche, es programmgesteuert aufzurufen, stürzt die App ab und gibt einen Fehler.
So rufe ich das Segment auf ViewController1
auf %Vor%Dies ist von ViewController1 bis ViewController2
Ich habe auch ein Segment, das nicht an eine Schaltfläche angeschlossen ist, sondern von VC1 zu VC2, gibt den gleichen Fehler.
Das ist der seltsame Fehler, den ich bekomme:
%Vor%Ich habe versucht, das Produkt zu reinigen und auch den Simulator zu löschen.
Ein Screenshot meines Storyboards
Ein Bildschirm des Identity Inspectors von viewcontroller1 (in meinem Projekt heißt er ViewController)
Ein Screenshot des Abschnitts (name3)
Die Optionen des Abschnitts:
Bearbeiten:
Ich habe festgestellt, dass wenn ich eine Schaltfläche als IBAction verbinde und dann performSegueWithIdentifier("LogIn", sender: self)
von der Schaltfläche aus aufrufen, funktioniert es korrekt.
Irgendwelche Hilfe?
Ok, die Antwort ist, dass ich ziemlich dumm bin
Immer wenn ich neue ViewControllers erstellte, unterzog ich ViewController
, das war mein erster ViewController, anstelle von UIViewController
, wodurch es rekursiv ausgeführt wurde.
Verbinden Sie Ihre Schaltfläche im Storyboard-Editor nicht mit dem anderen Segment (wenn Sie die Funktion performWithSegue in Ihrem ViewController1 aufrufen möchten) - verbinden Sie einfach den ersten ViewController mit dem zweiten.
Dann können Sie
verwenden %Vor%in Ihrer ViewController1-Klasse.
Der Fehler besagt, dass Sie nach einem Segment in ViewController2
suchen, aber Ihre Frage besagt, dass das Segment von einer Schaltfläche stammt. Das würde erklären, warum es nicht gefunden werden kann.
Versuchen Sie, den Namen des Segments (name) zu entfernen, erstellen Sie (cmd + b), legen Sie dann den Namen des Segments fest und kompilieren Sie. (natürlich im Storyboard)
Tags und Links objective-c iphone ios segue swift