Kann einen Code im Code nicht aufrufen (Swift)

8

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?

    
Eli Braginskiy 24.09.2014, 18:17
quelle

5 Antworten

0

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.

    
Eli Braginskiy 24.09.2014, 20:26
quelle
2

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.

    
derdida 24.09.2014 18:33
quelle
2

Wenn Sie die Segu von einem Ansichtscontroller auf den anderen setzen, stellen Sie sicher, dass Sie die Klasse korrekt eingestellt haben - siehe Bild:

UIStoryBoardSegue war was ich brauchte.

    
Phil Hudson 16.01.2016 07:54
quelle
0

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.

    
Phillip Mills 24.09.2014 18:21
quelle
0

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)

    
Aymenworks 24.09.2014 18:53
quelle

Tags und Links