J'obtiens parfois cette erreur lors de l'enregistrement dans des données de base. Je n'arrive pas à le recréer.
Quelqu'un at-il une expérience avec cette erreur?
CoreData: error: NULL _cd_rawData but the object is not being turned into a fault
?
Après plusieurs articles, la réponse était meilleure https://web.archive.org/web/20150215081345/http://www.cocoabuilder.com:80/archive/cocoa/311615-weird-core-data -crash.html
Cela se produit lorsque le contexte de l'objet n'appartient pas au thread actuel. L'une des nombreuses façons dont l'erreur peut se manifester.
Lorsque le crash se produit, procédez comme suit:
NSManagedObjectContext
mainQueueConcurrencyType
, il doit être placé sur le thread principal, sinon sur les threads d'arrière-plan.p context.concurrencyType
Dans l'exemple de commande ci-dessus, la NSManagedObjectContext
a été stockée dans la variable context
(NSManagedObjectContextConcurrencyType) $R4 = mainQueueConcurrencyType
J'ai trouvé le même problème lorsque j'ai essayé de lire (accéder) aux données d'un Coredata Store dans un autre thread (pas principal).
Vous pouvez résoudre ce problème en suivant cette suggestion à partir de ce lien:
Données de base et threads/Grand Central Dispatch