Je viens d'ajouter du code provenant du Apple docs qui montre comment utiliser les UITableViewCell personnalisés créés à partir d'une plume. Je suis nouveau dans le développement iOS, donc je suis toujours en train d'apprendre à propos de la gestion de la mémoire et le code n'est pas tout à fait clair pour moi sur la façon dont cela fonctionne en premier lieu. Quand j'exécute l'instrument Allocations, il montre la mémoire non allouée dans le code ci-dessous. Plus précisément, elle montre les UITableViewCells restent en vie après que le contrôleur de vue est sauté la pile de nav ...Développement iOS: Comment suis-je en train de mal gérer la mémoire dans ce code?
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"MyCustomCellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
[[NSBundle mainBundle] loadNibNamed:@"MyCustomCell_iPhone" owner:self options:nil]; //<--Allocations instrument complaining about this line
cell = customCell;
[self setCustomCell:nil];
}
return cell;
}
customCell
est une instance var défini dans ce contrôleur de vue, comme si ...
IBOutlet UITableViewCell *customCell;
@property (nonatomic, retain) IBOutlet UITableViewCell *customCell;
Y a-t-il un problème dans ce code?
Merci beaucoup pour votre sagesse!
Espérons que vous avez également défini une @ propriété appelée customCell? –
La cellule personnalisée doit-elle être un IBOutlet? Si vous cherchez simplement à charger une vente personnalisée, vous n'avez pas besoin d'être un point de vente. – DerekH
DerekH, il doit être une sortie afin qu'il puisse câbler une poignée sur la cellule lorsque la plume est chargée. –