Dans CoreData, j'ai le graphe de données avec certaines entités, et chaque objet est peuplé dans un contrôleur de vue, à un écran défini, je veux sortir quelques objets (> 1) pour retourner à un écran de définition.popToViewController déclenche le message "Échec de l'assertion", comment le résoudre?
J'ai essayé de pop la vue des contrôleurs de la pile de navigation avec ces lignes de code:
ObjectA *objectA = objectD.objectC.objectA;
NSLog(@"objectA name: %@", objectA.name);
MyViewController *controller = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil withObjectA:objectA];
[self.navigationController popToViewController:controller animated:YES];
[controller release];
Le objectA, objectB, ObjectC, objectD sont tous les objets de mon graphe de données (avec la relation inverse, Je peux interroger le retour objectA de la objectD par ObjectC)
le message d'erreur suivant se pose:
Assertion failure in -[UINavigationController popToViewController:transition:], /SourceCache/UIKit_Sim/UIKit-984.38/UINavigationController.m:1807
Il y a deux questions ici :
- Si les deux objets sont différents, comment se fait-il qu'ils ont le même nom? la relation inverse ne peut pas récupérer l'objetA dans lequel j'ai initialisé MyViewController?
- Comment faites-vous normalement popToViewController? Comment puis-je implémenter sauvegarder/charger l'état actuel de mon contrôleur de navigation afin que lorsque l'application se ferme, je puisse recharger le contrôleur de navigation? Quelles sont les meilleures pratiques?
ouais, merci Ole, je viens de réaliser que: -s stupide moi :( –
J'ai l'autre question, quelles sont les stratégies pour enregistrer/charger la configuration de l'application qui utilise le contrôleur de navigation lorsque l'utilisateur quitte l'application ? –
Vous devriez poser cette autre question dans un autre article –