L'instrument Leaks sonne l'alarme sur un code, mais je ne sais pas comment traiter la fuite sans écraser l'application. Voici un code résumant mon approche, écrit il y a quelque temps et clairement dans le besoin de repenser:Comment puis-je gérer une fuite de mémoire Subview?
labels = [[NSMutableArray alloc] init];
for(int i = 0; i < 10; i++) {
// calculate x and y...
label = [[UILabel alloc] initWithFrame:CGRectMake(x, y, 70, 15)];
// customize label...
[labels addObject:label];
[label release];
[self addSubview:[labels objectAtIndex:i]];
}
Pourquoi prendre la peine avec les étiquettes NSMutableArray? Plus tard, dans d'autres méthodes, je dois changer l'alpha des étiquettes, et il est commode de pouvoir dire
[[labels objectAtIndex:num] setAlpha:0.5];
Je crois que la fuite se produit parce que les étiquettes ne sont pas dealloc'ed au cours du cycle de vie normal de l'application , seulement quand la vue supérieure est libérée à la fermeture.
Aide!
Merci.
je suis allé encore plus loin que cette approche - a décidé de ne pas déranger avec un tableau des étiquettes et étiquettes simplement ajouté en tant que sous-vue avec tag = 100 + i, puis il a publié, dans chaque itération de la boucle. – ed94133