J'essaie de tester les fuites de mémoire dans mon iPhone et je n'ai pas beaucoup de chance de se débarrasser de celui-ci. Voici le code qui fuit.Impossible de comprendre comment se débarrasser de la fuite de mémoire
- (id)initWithManagedObjectContext:(NSManagedObjectContext *)aMoc delegate:(id)aDelegate runSync:(BOOL)aRunSync {
if (self = [super init]) {
self.moc = aMoc;
self.settingsManager = [[VacaCalcSettingsManager alloc] initWithManagedObjectContext:self.moc];
self.delegate = aDelegate;
calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
self.runSync = aRunSync;
}
return self;
}
Il fuit sur la ligne self.settingsManager = [[VacaCalcSettingsManager alloc] initWithManagedObjectContext:self.moc];
.
La variable d'instance self.settingManager est libérée dans la méthode dealloc de la classe.
Je ne sais pas quelle autre information serait pertinente. S'il vous plaît faites le moi savoir et je peux le fournir.
Merci pour toute aide.
-Mark
Voici le fichier d'en-tête.
@interface VacaCalcCalculation : NSObject {
NSManagedObjectContext *moc;
VacaCalcSettingsManager *settingsManager;
id delegate;
NSCalendar *calendar;
NSDate *nextBankLimitDate;
BOOL runSync;
}
@property (nonatomic, retain) NSManagedObjectContext *moc;
@property (nonatomic, retain) VacaCalcSettingsManager *settingsManager;
@property (nonatomic, retain) id delegate;
@property (nonatomic, retain) NSCalendar *calendar;
@property (nonatomic, retain) NSDate *nextBankLimitDate;
@property (nonatomic) BOOL runSync;
- (id)initWithManagedObjectContext:(NSManagedObjectContext *)aMoc delegate:(id)aDelegate;
Je ne suis pas un développeur IPhone, ce qui explique mon manque de connaissances sur le fonctionnement des systèmes, mais il semble que Calendar soit simplement défini sur une nouvelle valeur, et rien n'est fait avec. Peut-être qu'il se passe quelque chose là-bas? – Jay
Affiche les déclarations du fichier d'en-tête pour les variables d'instance. –