2010-08-04 22 views
0

Je n'utilise pas Autorelease. Quand je l'utilise comme code, je ne sais pas comment libérer BSPTileComment autoelease dans Objective - c

NSUInteger numbToday = [[dateFormatter stringFromDate:[NSDate date]] intValue]; 
    BSPTileView *tile = [gridView.subviews objectAtIndex: 0]; 
    tile.comparedValue = 0; 

BSPTileView est UIView classe. Comment faire ? S'il vous plaît.

Répondre

1

Dans ce cas, vous n'avez pas à le faire. -objectAtIndex: retourne juste l'objet à cet index dans le tableau, sans changer son nombre de retenue.

1

Ce n'est pas le cas. Vous n'avez pas reçu ce pointeur via un appel de méthode qui contient new, alloc, retain ou copy, vous n'êtes donc pas responsable de la libération (ou de la libération automatique) du pointeur.

Si votre application est une structure telle que vous devez la libérer ici, alors vous avez fait quelque chose de mal ailleurs.

0

Si votre BSPTileView est inséré dans une hiérarchie de vues, la hiérarchie prend soin de gérer l'objet pour vous. Prendre l'objet du tableau sous-vues ne modifie pas le nombre de retenues. Aucune responsabilité n'est transférée.