performSegueWithIdentifier funktioniert nicht

Mein Haupt-view-controller ist in einem navigation-controller und es entspricht EditViewControllerDelegate Protokoll. Es ist das delegieren von meinen zwei view-Controllern, die ich brauche zu präsentieren Modal.

@interface EditViewController : UIViewController
@property (nonatomic) id <EditViewControllerDelegate> delegate;
@end

@interface EditSomethingViewController : EditViewController
@end

@interface EditSomethingElseViewController : EditViewController
@end

In einem editViewController:(EditViewController *)evc didFinishEditing:(Something *) something Methode, bekomme ich als erstes die Daten, die ich brauche, dann bin ich entlassen, der evc - und call -

[self performSegueWithIdentifier:@"My Segue" sender:self];

"Mein Übergang" definiert ist, die in Xcode und die Kennung ist die gleiche sowohl im code und in Xcode (ich habe versucht es zu ändern nur um zu sehen, wenn es aufgerufen wird, und es wirft eine Ausnahme)

Wenn ich "Meine Reihenfolge"'s Art zu drücken, hat es geklappt.
Aber mit Modaler es nicht tun, nachdem ich mich wieder an die main-view-controller

Was bin ich?

BEARBEITET:

Habe ich zufällig herausgefunden, dass eine Warnung in meinem storyboard! (es ist seltsam, weil es nicht eine Warnung in das Projekt "von überall sichtbar")
Im connections inspector unter "Referenzierung Storyboard leitet über" es ist eine Warnung für meine modal-segue. es sagt :

(null) is not a valid containment controller key path

Habe ich überprüft, andere modale leitet über und es ist die gleiche Warnung, aber ich didn ' T brauchen, um Sie auszulösen, indem Sie code hatte deshalb keine Probleme vor.

BEARBEITET 2:

-(void)editViewController:(EditViewController *) evc
didFinishEditing:(Something *) something
{
    self.something = something;
    [self dismissModalViewControllerAnimated:YES];
    For ( OtherThing * otherThing in self.something.otherthingsArray)
    {
        NSLog(@"%@", otherThing);
    }
    [self performSegueWithIdentifier:@"My Segue" sender:self];
}
  • Können Sie uns zeigen Ihre ganze editViewController:(EditViewController *)evc didFinishEditing:(Etwas *)etwas Methode?
  • Für jetzt tut es nichts anderes, abgesehen von ein NSLog, um zu sehen, "etwas"'s Beschreibung. Ich habe gerade ein NSlog zu prepareForSegue und es wird aufgerufen, aber der übergang erfolgt nicht auf dem Bildschirm.
  • Ich dachte, Sie sagten, Sie waren Abweisung der edit view-controller und ruft performSegueWithIdentifier in dieser Methode. Wo machst du diese Dinge? Ich will sehen, wie Sie tun, dass der Teil, um zu sehen, wenn das ist, wo der Fehler ist.
  • Ja, sicher! aber ich meinte gar nichts mehr. Ich werde es hinzufügen, um die Frage einfach zu entfernen Mehrdeutigkeit.(EDIT 2)
  • wie sollte Sie die Ansicht ausführen: [self performSegueWithIdentifier:@"Meine Segue" sender:self]; wenn er die Entlassung vor sich [selbst dismissModalViewControllerAnimated:YES]; ?
  • es ist die Präsentierenden ViewController, der entlässt den modal ein.

InformationsquelleAutor Moxy | 2012-04-19
Schreibe einen Kommentar