CoreData: error: NULL _cd_rawData mais l'objet n'est pas transformé en une faute
De temps en temps j'obtiens cette erreur lors de l'enregistrement de base de données. Je n'arrive pas à le recréer.
Quelqu'un a une expérience avec cette erreur;
CoreData: error: NULL _cd_rawData but the object is not being turned into a fault
?
- Êtes-vous à l'aide de multi threading? Si oui, assurez-vous que la sauvegarde de contexte doit être fait sur le Thread Principal
- Oui, je le suis. Mais, je travaille dans un autre contexte, et de fusionner les modifications dans le thread principal.
- Salut, quelqu'un peut expliquer pourquoi cette erreur ne se produit que de temps en temps?
- Comme une approche générale pour en apprendre plus sur le sujet et les moyens de prévenir de tels problèmes, je recommanderais la suite de Stanford conférence: youtube.com/watch?v=whF63GTaW1w
Vous devez vous connecter pour publier un commentaire.
Après être allé à plusieurs postes, ce qui a eu une meilleure réponse https://web.archive.org/web/20150215081345/http://www.cocoabuilder.com:80/archive/cocoa/311615-weird-core-data-crash.html
Raison:
Ce qui se passe lorsque le contexte de l'objet n'appartient pas à le thread courant. L'un des nombreux moyens que l'erreur peut se manifester.
Debug:
Lorsque l'incident se produit procédez de la manière suivante:
NSManagedObjectContext
mainQueueConcurrencyType
alors il doit être sur le thread principal sinon sur les threads d'arrière-plan.De commande de la Console pour vérifier la simultanéité type:
Dans l'exemple de commande ci-dessus la
NSManagedObjectContext
a été stocké dans la variablecontext
Sortie De La Console:
J'ai trouvé le même problème quand j'ai essayé de lire (accès) et des données à partir d'un Coredata Magasin dans l'autre thread (pas le principal).
Vous pouvez résoudre ce problème en suivant cette suggestion à partir de ce lien:
Les Données de base et fils /Grand Central Dispatch