Wie stelle ich eine verschachtelte Eigenschaft, wenn das Objekt gegossen werden muss?

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

  •  19-09-2019
  •  | 
  •  

Frage

In meiner Methode Satz Etikett in meinen Zellen (für eine UITableView) lese ich in ‚id‘, die tatsächlich eine UITableViewCell ist, da ich in verschiedenen Arten von Zellen gerade lese. Das heißt:.

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

Einige der Zellen sind von der generischen UITableViewCellStyle Art, während andere mehr kompliziert sind und ein NIB usw. für die verschiedenen Abschnitte laden.

Um eine UILabel Text Eigenschaft Zugriff für meine benutzerdefinierten Zellen Ich kann wie etwas tut

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

und ich kann eine Methode in der CustomCell Klasse erstellen den Beschriftungstext zu setzen.

Für die generischen Zellen wird das Label ‚textlabel‘ genannt. Ich glaube, ich kann so etwas tun

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

, aber das scheint etwas chaotisch wie ich eine neue UILabel erstellen müssen.

Ich habe versucht,

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

, die funktionieren würde, wenn Zelle der Klasse war UITableViewCell, nicht id, aber es funktioniert nicht in diesem Fall.

So ist es eine Möglichkeit, nur gesetzt textLabel.text, ohne eine neue UILabel zu schaffen?

War es hilfreich?

Lösung

Haben Sie versucht, eine Kategorie UITableViewCell mit Ihrem Label-Änderungsverfahren Hinzufügen und Überschreiben dann diese Methode in CustomCell?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top