Instruments détecter une fuite de mémoire:fuite de mémoire avec des données Étrange base
(Leaked Object= "__NSCFString")
Voici mon code:
-(NSArray*)loadAllPages{
NSManagedObjectContext *context = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"Page" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"date" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]];
[sortDescriptor release];
NSError *error = nil;
myArray = [[NSArray alloc ]initWithArray:[[context executeFetchRequest:fetchRequest error:&error]autorelease]];
[fetchRequest release];
if (myArray == nil)
NSLog(@"%@",error);
return myArray;
}
La ligne où la fuite est pointé est l'initialisation de myArray
. Si je ne retourne pas myArray
, cette fuite ne se produit pas, donc c'est étrange pour moi.
Comment appelez-vous la méthode? Utilisez-vous ARC? –
Où 'myArray' est-il déclaré? –
dans mon fichier .h. Ce n'est pas grave si je le déclare dans la fonction ou dans .h, il donne juste la même fuite. :( – Sufian