Come faccio a impostare una proprietà nidificato se l'oggetto deve essere gettato?
-
19-09-2019 - |
Domanda
Nel mio metodo per impostare le etichette nelle mie cellule (per un UITableView) Sto leggendo in 'id' che in realtà è un UITableViewCell dal momento che sto leggendo in diversi tipi di cellule. Cioè:.
-(void)setMyCell:(id)cell atIndexPath:(NSIndexPath*)indexPath;
Alcune cellule sono di tipo generico UITableViewCellStyle mentre altri sono più complicati e caricare un pennino ecc per le diverse sezioni.
Per accedere a una proprietà di testo UILabel per le mie cellule personalizzati posso fare qualcosa di simile
[(CustomCell*) cell setMyTextLabel:@"text"];
e posso creare un metodo nella classe CustomCell per impostare il testo dell'etichetta.
Per le cellule generici l'etichetta si chiama 'textLabel'. Penso di poter fare qualcosa di simile
[(UITableViewCell*) cell setTextLabel:<new UILabel here>];
ma che sembra un po 'disordinato come ho bisogno di creare un nuovo UILabel.
Ho cercato
(UITableViewCell*)cell.textLabel.text = @"text";
che funziona se cella era della classe UITableViewCell, non id, ma non è così in questo caso.
Quindi non v'è alcun modo per impostare solo textLabel.text senza creare un nuovo UILabel?
Soluzione
Avete provato ad aggiungere una categoria per UITableViewCell
con il metodo di etichette che cambia, e quindi ignorando quel metodo in CustomCell
?