Je suis novice dans le domaine de l'objectif-c et je développe actuellement une petite application.removeFromSuperview et gestion de la mémoire
J'ai quelques problèmes de gestion de mémoire et je veux poser cette question particulière. J'ai un bouton, l'apparence dont je change:
for (UIView *subview in button.subviews)
{
if (![subview isKindOfClass:[UIImageView class]]) // don't remove UIImageView, otherwise it will not be able to set background
{
[subview removeFromSuperview];
}
}
[button setBackgroundImage: [[imageArray objectAtIndex:itemNumber] forState:UIControlStateNormal];
/*
creating myView and myLabel here
*/
[button addSubview:myView];
[button addSubview:myLabel];
[myLabel release];
[myView release];
Le code fait plus complexe, mais il n'y a pas des fuites. Malgré cela, le nombre d'objets alloués et la mémoire utilisée continuent de croître chaque fois que je le fais. Comment puis-je résoudre ce problème?
Merci beaucoup
ressemble à votre problème avec la création de l'étiquette. Le reste semble effectivement correct ... –
quel problème peut-il y avoir? Je crée un label dans le code, lui assigne du texte depuis le tableau (ne crée aucun objet) puis libère l'étiquette. Je pense qu'après [subview removeFromSuperview] runtime garde ces données en mémoire, et je ne peux rien faire avec ((( – Burjua