Come faccio a impostare una proprietà nidificato se l'oggetto deve essere gettato?

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

  •  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?

È stato utile?

Soluzione

Avete provato ad aggiungere una categoria per UITableViewCell con il metodo di etichette che cambia, e quindi ignorando quel metodo in CustomCell?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top