Wenn ich prepareForSegue verwende, um einen Wert an den Ziel-Controller zu übergeben, treten einige Probleme auf

Zunächst erstelle ich mit dem Storyboard zwei uiviewcontroller:firstviewcontroller undsecondviewcontroller. Und mit xcode einbettenuinavigationcontroller insecondviewcontroller(Editor -> Einbetten in -> Navigationscontroller). Dann möchte ich auch segue verwenden, um den Wert von der ersten zur zweiten zu übergeben. da ist der Code:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([segue.identifier isEqualToString:@"passValue"])
    {
        secondViewController *saveViewController = [segue destinationViewController];
        [saveViewController setValue:data forKey:@"data"];
    }
}

Aber es wird ein Fehler gemeldet, das Protokoll ist:App wird aufgrund einer nicht erfassten Ausnahme "NSUnknownKeyException" beendet. Grund: "[setValue: forUndefinedKey:]: Diese Klasse ist für die Schlüsseldaten nicht schlüsselwertkodierungskonform."

Wenn ich jedoch den Navigationscontroller lösche, den ich zum Einfügen mit Xcode verwende, und die Navigationsleiste nach Code definiere, verschwindet dieses Problem. Ich vermute der Grund ist der wahre destinationViewControllerNavigationssteuerung anstattsecondviewcontroller. Wie kann ich dieses Problem beheben, wenn ich den in Xcode eingebetteten Navigationscontroller reservieren möchte?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage