Kompatibilität mit prepareForSegue und popViewController
Ich arbeite an einemiOS
app und ich habe 3 aufeinanderfolgendeViewControllers
:
TableViewController
->DetailViewController
->ImageViewController
Ich führe de Vorwärtssegue mit einem Knopf ausStoryboard
) und um zurückzukehren, habe ich einen benutzerdefinierten Zurück-Button mit
[self.navigationController popViewControllerAnimated:YES];
Zum Weiterleiten von Daten verwende ich
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
[segue.destinationViewController someFunction];
}
So senden Sie Daten an das übergeordnete ElementViewController
ich kann nutzenprepareForSegue
in demDetailViewController
, aber es funktioniert nicht in derImageViewController
und dort muss ich benutzenNotifications
.
Es ist in Ordnung, wenn ich benutzeprepareForSegue
Daten senden mitpopViewControllerAnimated
?
Sollte ich in beiden Fällen Benachrichtigungen verwenden?
Ein bisschen CodeWas habe ich in derDetailViewController
ist eine Schaltfläche, die den Übergang zum ImageViewController ausführt (einfach per Drag & Drop steuern)Storyboard
) und einen Zurück-Button mit:
- (IBAction)backAction:(id)sender {
[self.navigationController popViewControllerAnimated:YES];
}
und dann die Funktion:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if([segue.identifier isEqualToString:@"forwardSegue"]) {
[segue.destinationViewController someFuntionToImageViewController];
} else {
[segue.destinationViewController someFuntionToParentViewController];
}
}
Ich habe festgestellt, dass ich dem keine segue.identifier zuweisen kannpopViewController
Aktion.