J'ai remarqué que je recevais quelques erreurs à des points aléatoires dans mon application. J'ai eu 2 erreurs, "double free" et "checksum incorrect pour l'objet libéré". Heres la trace de pile d'une erreur "double libre". Quelqu'un peut-il fournir un aperçu? Cela se passe sur un appel dans mon code qui définit simplement un attribut à un NSNumber
donc je ne peux pas comprendre pourquoi il le fait!Erreurs de données de base de Malloc
myObject.numberAttr = [NSNumber numberWithInt:[dateComponents day]];
Déclenchée Randomly (Ne pas toujours le cas):
#0 0x9585b072 in malloc_error_break
#1 0x9585c218 in szone_error
#2 0x9585c34d in free_tiny_botch
#3 0x01c5e064 in _PFDeallocateObject
#4 0x01c97e2b in -[NSManagedObject(_NSInternalMethods) _setLastSnapshot__:]
#5 0x01c97a0d in -[NSManagedObjectContext(_NSInternalChangeProcessing) _establishEventSnapshotsForObject:]
#6 0x01c97866 in _PFFastMOCObjectWillChange
#7 0x01c976c5 in _PF_ManagedObject_WillChangeValueForKeyIndex
#8 0x01c97525 in _sharedIMPL_setvfk_core
#9 0x01c9b827 in _svfk_5
Un grand merci,
Michael
+1 pour la réponse, car cela m'a aidé à résoudre mon problème. Dans mon cas, NSManagedObject créé par le contexte principal a été utilisé sur un contexte d'arrière-plan qui est clairement faux. – nagan