2010-05-20 19 views
1

J'ai un certain nombre de cellules de table personnalisés et des vues que je construit à l'aide de l'interface constructeurchargement vue personnalisée à l'aide loadNibNamed montrant des fuites de mémoire

dans le générateur d'interface, tout est configuré de manière similaire. Il y a une cellule de table et un couple d'autres UILabels et une image de fond

propriétaire de l'objet si la plume est NSObject classe pour la cellule de table est le nom de la classe pour ma cellule de table

Voici comment je crée la cellule du tableau dans mon code:

SectionedSwitchTableCell *cell = nil; 
NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:kSectionedSwitchTableCellIdentifier owner:owner options:nil]; 
for(id currentObject in nibs) 
{ 
    if([currentObject isKindOfClass:[SectionedSwitchTableCell class]]) 
    { 
     cell = (SectionedSwitchTableCell *)currentObject; 
     break; 
    } 
} 
return cell; 

Pour mes en-têtes de table personnalisés J'ai ce

NSArray *nibs = [[NSBundle mainBundle] loadNibNamed:@"CustomTableHeader" owner:self options:nil]; 
    for(id currentObject in nibs) 
    { 
     if([currentObject isKindOfClass:[CustomTableHeader class]]) 
     { 
      return header 
     } 
    } 

dans mon .h et les fichiers .m f ou la vue personnalisée, j'ai IBOutlet, @property mis en place pour tout, sauf pour l'image de fond UIImageView. Tout ce qui a l'IBOutlet et @property sont aussi @synthesized et publié dans le fichier .m. Leaks montre que j'ai des fuites de mémoire avec CALayer lorsque je crée ces objets vue personnalisée. Est-ce que je fais quelque chose de mal ici quand je crée ces objets de vue personnalisés? Je suis en train de me déchirer les cheveux en essayant de comprendre d'où viennent ces fuites. En parallèle, j'ai une image d'arrière-plan UIImageView définie dans ces vues personnalisées, mais je n'ai pas défini les propriétés et les IBOutlets dans mes fichiers .h et .m. Les définir ne fait pas de différence quand je le lance à travers les fuites, mais je voulais juste confirmer si je fais la bonne chose.

Toute entrée serait super utile. Merci :)

Répondre

1

Vérifiez votre fichier xib de cellule personnalisé, assurez-vous que vous avez défini l'identificateur (kSectionedSwitchTableCellIdentifier) ​​à la cellule. J'ai le même problème et corrigé avec ceci.

+0

C'était le problème dans mon cas! Merci! –