/ / Custom UITableViewCells UITextField référence forte ou faible? - objective-c, ios, uitableview, comptage automatique

Personnalisé UITableViewCells UITextField référence forte ou faible? - objective-c, ios, uitableview, comptage automatique

Je suis en train de préparer de manière pragmatique une tableview avec uitextfields, uisegmentedcontrols, etc.

Voici un exemple

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (cell == nil) {

cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];

//NSLog(@"creating a new %@", CellIdentifier);

if([CellIdentifier isEqualToString:@"ID"]) {

UITextField *newTextField = [[UITextField alloc] initWithFrame:CGRectMake(80, 5, 215, 34)];
self.idField = newTextField;
[cell addSubview:self.idField];

}
}

Je crée des propriétés pour tous ces champs de texte et les affecte aux champs nouvellement créés, comme vous pouvez le voir.

Ma question est: devrais-je utiliser (nonatomique, fort) ou (nonatomique, faible)?

@property(nonatomic, weak) UITextField *idField;
//Or
@property(nonatomic, strong) UITextField *idField;

Réponses:

0 pour la réponse № 1

Vous ne devez pas du tout créer de variables de membre pour ces champs de texte. Pour quoi avez-vous besoin d'un deuxième champ de texte? Peut-être qu'un autre style de cellule vous suffit? Par exemple. UITableViewCellStyleValue1, UITableViewCellStyleValue2 ou UITableViewCellStyleSubtitle?

Mais si vous en avez besoin, attribuez-lui une balise (par exemple, la ligne de la table tableCellule) et récupérez-la ensuite viewWithTag:. Si vous voulez un accès direct, pensez à une sous-classe UITableViewCell personnalisée.

Pour donner une réponse directe à votre question: une référence faible suffirait probablement dans la mesure où textField est ajouté à une cellule, qui ne sera désallouée à aucun moment (car il sera réutilisé).