Custom Unwind Segue für iOS 8 und iOS 9

Meine Frage ist, wie kann ich das folgende benutzerdefinierte Abwicklungssegment auf einem Gerät mit einer Version vor iOS 9 sowie auf einem Gerät mit iOS 9 verwenden?

Ich habe ein benutzerdefiniertes Segment mit einem Ansichts-Controller und dann ein entsprechendes benutzerdefiniertes Abwicklungssegment. Dieser Code hat in iOS 8 einwandfrei funktioniert und wird implementiert, indem Unterklassen von UIStoryboardSegue erstellt und das @ implementiert werdeperform Methode. Dann überschreibe ich die folgende Methode in meinem benutzerdefinierten Navigationscontroller:

- (UIStoryboardSegue *) segueForUnwindingToViewController:    (UIViewController *)toViewController fromViewController:(UIViewController *)fromViewController identifier:(NSString *)identifier
{
    UIStoryboardSegue *segue;
    if([fromViewController isKindOfClass:[MyViewController class]]){
        segue = [[CustomSegue alloc] initWithIdentifier:identifier source:fromViewController destination:toViewController]; //Custom Unwind Segue
    }
    else{
        UIStoryboardSegue *unwindSegue = [super segueForUnwindingToViewController:toViewController fromViewController:fromViewController identifier:identifier]; //Normal Unwind Segue
        segue = unwindSegue;
    }
    return segue;
}

In iOS 9,segueForUnwindingToViewController ist veraltet. Es funktioniert immer noch für MyViewController CustomSegue. Das standardmäßige Abwicklungssegment funktioniert jedoch nicht mehr für andere Abwicklungssegmente. Obwohl das Aufrufen der Methode bei super einen Abwicklungssegue zurückgibt, tritt der Segue nie auf, der View-Controller wird nie aufgerufen, und der Benutzer kann niemals zum vorherigen Bildschirm zurückkehren. Um ganz klar zu sein: Wenn ich ein reguläres Show-Segment verwende, ruft das entsprechende Unwind-Segment die veraltete Methode auf, die die Methode super aufruft und nicht funktioniert.

Ich habe gesehen, wie der WWDC über Storyboards sprach, und konnte dieses Problem in iOS 9 beheben, indem ich a) diese Methode in meinem benutzerdefinierten Navigations-Controller nicht mehr überschrieb und b) in das Storyboard ging, auf den benutzerdefinierten Bereich klickte und eintrat imCustomSegue als die Segue-Klasse. Da ich auf iOS 7 abziele, erhalte ich leider die Warnung "Nur benutzerdefinierte Segmente unterstützen Klassennamen vor iOS 9", und das benutzerdefinierte Abwicklungssegment funktioniert jetzt nicht mehr für iOS 7 oder iOS 8!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage