2014-05-18 14 views
13

Ich mache derzeit das Tutorial von Apple's Start Developing iOS Apps.Unwind segue funktioniert nicht

Auf der Seite Lernprogramm: Storyboards (Link oben) wurde mir gesagt, dass ich benutzerdefinierte Klassen für zwei Ansichten erstellen soll. Zur Vereinfachung nenne ich sie die Tabellenansicht (hat eine Tabelle) und die Add-Ansicht (hat ein Textfeld, um Elemente zur Tabelle hinzuzufügen).

Die Tabellenansicht verfügt über eine Schaltfläche, über die Verknüpfungen die Ansicht hinzufügen öffnen, und die Ansicht hinzufügen hat zwei Schaltflächen in der Navigationsleiste: Abbrechen und Fertig.

ich gesagt wurde, eine leere Methode unwindToList in der .m-Datei der Add-Ansicht zu schreiben:

- (IBAction)unwindToList:(UIStoryboardSegue *)segue 
{ 

} 

Dann wurde mir gesagt, verknüpfen beiden Abbrechen und Fertig-Tasten zum Beenden Elemente in der Szene Dock (siehe Bild unten) und wählen Sie die Methode unwindToList. Als Ergebnis, das ist, was passieren soll, wie aus dem Tutorial zitiert:

Jetzt, führen Sie Ihre App. Beim Start sehen Sie eine Tabellenansicht - aber es sind keine Daten darin enthalten. Sie können auf die Schaltfläche Hinzufügen klicken und zu [der Ansicht hinzufügen] aus der [Tabellenansicht] navigieren. Sie können die Tasten Abbrechen und klicken Sie auf Fertig zurück auf [der Tabellenansicht] zu navigieren.“

Allerdings, wenn ich Fertig Abbrechen oder klicken, passiert nichts. Ich bin sicher, dass beide miteinander verbunden sind.

Vielen Dank im Voraus

Tutorial Image

Antwort

42

Wenn Sie das Tutorial sorgfältig lesen, werden Sie sehen, dass die Abroll-Methode in der UIViewController sein muss, dass Sie Abwickeln sind - aus dem Tutorial -

Abwickelsystem segue wird durch Zugabe einer Aktionsmethode zum Ziel-View-Controller (View-Controller Sie entspannen wollen) erstellt.

...

Weil Sie zurück zu XYZToDoListTableViewController entspannen wollen, benötigen Sie eine Aktionsmethode mit diesem Format die XYZToDoListTableViewController Schnittstelle und Implementierung hinzuzufügen.

Sie sollten also Ihre Methode unwindToList im Tabellenansicht-Controller erstellen, nicht im Add-View-Controller.

+0

Ah, mein Fehler! Vielen Dank! :) –

+0

Denken Sie auch daran, den Namen der Methode zu überprüfen, die nach dem Übergang aufgerufen wird. Aus irgendeinem Grund hat Xcode am Ende der Methode ein 'withSegue:' hinzugefügt, weshalb ich es nicht ausführen konnte. –

+0

Das klingt wie eine schnelle 3 Änderung – Paulw11

3

Meine Erfahrung ist, dass die Abwicklungsmethode in der Steuerung zurückgegeben werden muss, bevor Sie das Segment anwenden.

Verwandte Themen