Comment puis-je configurer une propriété imbriqué si l'objet doit être jeté?

StackOverflow https://stackoverflow.com/questions/1321217

  •  19-09-2019
  •  | 
  •  

Question

Dans ma méthode pour définir les étiquettes dans mes cellules (pour un UITableView) Je lis dans « id » qui est en fait un UITableViewCell depuis que je lis dans plusieurs différents types de cellules. I.e.:.

-(void)setMyCell:(id)cell atIndexPath:(NSIndexPath*)indexPath;

Certaines cellules sont de type générique UITableViewCellStyle tandis que d'autres sont plus complexes et charger une etc. NIB pour les différentes sections.

Pour accéder à une propriété de texte UILabel pour mes cellules personnalisées je peux faire quelque chose comme

[(CustomCell*) cell setMyTextLabel:@"text"];

et je peux créer une méthode dans la classe CustomCell pour définir le texte de l'étiquette.

Pour les cellules génériques l'étiquette est appelée « Textlabel ». Je pense que je peux faire quelque chose comme

[(UITableViewCell*) cell setTextLabel:<new UILabel here>];

mais cela semble un peu en désordre que je dois créer un nouveau UILabel.

J'ai essayé

(UITableViewCell*)cell.textLabel.text = @"text";

qui fonctionnerait si la cellule était de la classe UITableViewCell, pas id, mais il ne le fait pas dans ce cas.

est-il possible de simplement mettre textLabel.text sans créer une nouvelle UILabel?

Était-ce utile?

La solution

Avez-vous essayé d'ajouter une catégorie à UITableViewCell avec votre méthode de changement de libellé, puis remplaçant cette méthode dans CustomCell?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top