Tout d'abord, j'utilise le storyboard pour créer deux uiviewcontroller : contrôleur de première vue y secondviewcontroller . Et en utilisant xcode pour intégrer un uinavigationcontroller en secondviewcontroller (éditeur --> intégrer dans --> contrôleur de navigation) . Ensuite, je veux aussi utiliser le segue pour passer la valeur du premier au second. voici le code :
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if([segue.identifier isEqualToString:@"passValue"])
{
secondViewController *saveViewController = [segue destinationViewController];
[saveViewController setValue:data forKey:@"data"];
}
}
Mais il y aura un rapport d'erreur, le journal est le suivant : Terminer l'application en raison d'une exception 'NSUnknownKeyException', motif : '[ setValue:forUndefinedKey :]: cette classe n'est pas conforme au codage de la valeur de la clé pour les données de la clé.
Cependant, lorsque je supprime le contrôleur de navigation que j'utilise Xcode pour l'insérer et que je définis la barre de navigation par code, ce problème disparaît. Je suppose que la raison en est que le véritable contrôleur de vue de destination est contrôleur de navigation au lieu de secondviewcontroller . Donc si je veux réserver le contrôleur de navigation qui est intégré par Xcode, comment puis-je résoudre ce problème ?