Je rencontre un problème de fuite de mémoire avec le code suivant. Autant que je peux dire je ne vois pas pourquoi le problème persiste mais il ne libère toujours pas quand appelé. Je détecte le problème dans les instruments et le code suivant garde ses classes "cartes" en vie même quand il aurait dû les libérer. Toute aide bienvenue.Fuite de mémoire question
...
...
-(id)initDeckWithCardsPicked: (NSMutableArray*)cardsPicked andColors:(NSMutableArray*)cardColors
{
self = [self init];
if (self != nil) {
int count = [cardsPicked count];
for (int i=0; i<count; i++) {
int cardNum = [[cardsPicked objectAtIndex:i] integerValue];
Card * card = [[MemoryCard alloc] initWithSerialNumber:cardNum position: CGPointZero color:[cardColors objectAtIndex:i]];
[_cards addObject: card];
[card release];
}
}
return self;
}
- (id) init
{
self = [super init];
if (self != nil) {
self.bounds = (CGRect){{0,0},[Card cardSize]};
self.cornerRadius = 8;
self.backgroundColor = kAlmostInvisibleWhiteColor;
self.borderColor = kHighlightColor;
self.cards = [NSMutableArray array];
}
return self;
}
...
...
J'ai libéré le tableau par dealloc ... [publication de _cards]; [super dealloc]; ... mais d'après ce que je comprends la classe est référencée à partir d'ailleurs et ne permet pas la libération? – franz