2015-11-23 15 views
5

Ich habe eine TableViewController und ich möchte ein Segment in seiner Navigationsleiste auslösen. Ich habe den Abschnitt im Storyboard zu meinem neuen ViewController erstellt. Wenn ich jedoch auf das Element der Balkenschaltfläche klicke, wird die Ansicht nicht angezeigt.ViewController wird nicht angezeigt, obwohl das Segment ausgelöst wurde

Stattdessen wird der Balkenschaltknopf inaktiv (ausgegraut) und die App bleibt stehen. Es gibt keine Fehlermeldung und die App stürzt auch nicht ab. Die prepareForSegue Methode in meinem TableViewController wird auch

genannt
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 

    print("prepare for segue called") 
    print("destination view controller = \(segue.destinationViewController.description)") 

} 

Ich habe folgende Dinge:

  1. erstellt eine benutzerdefinierte Ansicht Controller-Klasse für den zweiten Bildschirm (in meinem Drehbuch und als .swift-Datei). Ich habe dem Custom View Controller im Identity Inspector
  2. den entsprechenden ViewController im Storyboard zugewiesen, ein IBAction für ein Klick-Event auf der Schaltfläche angelegt und das Programm programmgesteuert getriggert . Das Ergebnis bleibt gleich. prepareForSegue heißt. Die destionationViewController ist korrekt aber nicht angezeigt. Ich entfernte dieses IBAction danach.

Mein Ziel-View-Controller sieht aus wie dieses

class EnterUserDataViewController : UIViewController { 
    override func viewDidLoad() { 
     super.viewDidLoad() 
     print("EnterUserDataViewController viewDidLoad called") 
    } 

} 

viewDidLoad nie, obwohl die richtige segue aufgerufen wird ausgelöst wurde.

Kann mir bitte jemand einen Hinweis geben, warum das passiert?

My outline. I'm trying to create a segue from the ExtraViewController to the EnterUserDataViewController

Segue

+0

Passen Ihre Screenshots immer noch zu Ihrem tatsächlichen Code? Sie sagen, dass Sie den Übergang manuell mit einem Aktions-Outlet auslösen, aber Ihre Bildschirme zeigen, dass der Tab-Leiste-Button das Segment direkt auslöst. – tebs1200

+0

Nein, ich dachte, ich hätte etwas falsch machen können. Dann habe ich versucht das Programm programmatisch auszulösen. Also habe ich eine IBAction erstellt und performSegueWithIdentifier aufgerufen. Das hat jedoch nicht geholfen. Also habe ich diese IBAction gelöscht und einen normalen "Drag & Drop" -Segue verwendet. Um Ihre Frage zu beantworten: Ja. – slashburn

+0

Irgendwelche Updates zu diesem Problem? Konnten Sie es lösen? @Slashburn –

Antwort

0

Sie würden nicht ein Schelm Haltepunkt irgendwo gesetzt haben, passieren würden Sie?

Wenn ich irgendwo im View-Ladezyklus einen Breakpoint platziere, erzeugt er genau die Symptome, die Sie beschreiben.

+1

Nein, meine Breakpoint-Liste in XCode ist leer. – slashburn

Verwandte Themen