2010-04-07 6 views
1

Je suis confronté à un problème étrange de CoreData. Voici le journal:Développement iPhone - Erreur d'exécution CoreData

2010-04-07 15:59:36.913 MyProject[263:207] <MyEntity: 0x180370> (entity: MyEntity; id: 0x17e890 <x-coredata://0F55C533-41BD-4F09-9CCA-0CB304CAB065/MyEntity/p380> ; data: <fault>) 
2010-04-07 15:59:36.918 MyProject[263:207] *** Terminating app due to uncaught exception 'NSObjectInaccessibleException', reason: 'The NSManagedObject with ID:0x17e890 <x-coredata://0F55C533-41BD-4F09-9CCA-0CB304CAB065/MyEntity/p380> has been invalidated.' 

J'ai une hiérarchie de UITableViewControllers qui utilisent NSFetchedResultsController pour remplir la table, et quand est sélectionné, la vue détaillée est affichée une ligne particulière.

UITableView (MyMainEntity) 
UITableView (MyEntity) 
UITableView (MyEntity) detail view 

Les deux MyMainEntity UITableView et MyEntity UITableView utilisent NSFetchedResultsController pour afficher les enregistrements. Parfois, il se bloque lorsque je fais défiler la tableView, et parfois il se bloque lorsque j'essaie d'ouvrir la vue de détail. Je peux accéder à la vue détaillée MyEntity plusieurs fois avant que l'application se bloque.

Que signifie cette erreur? et comment puis-je le réparer?

Répondre

1

Si l'objet a été invalidé, cela signifie généralement que le modèle d'objet géré sous-jacent a été libéré. Vous devez vous assurer de conserver le modèle d'objet géré contenant les objets auxquels vous avez affaire.

Voir cette page pour plus de détails:

http://www.devworld.apple.com/mac/library/documentation/Cocoa/Conceptual/CoreData/Articles/cdTroubleshooting.html

Il pourrait également signifier que le MOC a été remis à zéro, ou le fichier magasin sous-jacent est maintenant disparu.