J'ai le morceau de code suivant et quand j'utilise Instruments/Object Allocations, il me dit qu'il y a une fuite là (qui descend à sqlite3MemMalloc). Y a-t-il quelque chose que je devrais libérer?Fuite dans managedObjectContext save:
if (![managedObjectContext save:&error]) {
NSLog(@"Error while saving.");
}
La sauvegarde fonctionne bien et ne déclenche pas d'erreur.
Merci pour votre réponse. Que voulez-vous dire par "code de vérification"? Aussi, d'après ce que j'ai essayé, j'ai l'impression que les objets gérés sont auto-libérés. – Kamchatka
Les objets ManagedObjects sont eux-mêmes conservés/libérés par le contexte, mais tout objet qu'ils créent eux-mêmes peut fuir. Par exemple, si vous avez une méthode personnalisée qui a initialisé une chaîne mais ne l'a pas libérée. – TechZen
Désolé "vérification" devrait être "validation". Ce sont les méthodes qui sont appelées juste avant qu'un objet géré soit sauvegardé pour s'assurer qu'un attribut/propriété est dans l'état correct avant d'être sauvegardé. Par défaut, les méthodes prennent la forme de 'validatePropertyName: error:'. – TechZen