Как установить вложенное свойство, если объект должен быть приведен? - PullRequest
1 голос
/ 24 августа 2009

В моем методе установки меток в моих ячейках (для UITableView) я читаю в 'id', который на самом деле является UITableViewCell, поскольку я читаю в нескольких различных типах ячеек. I.e.:

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

Некоторые ячейки имеют общий тип UITableViewCellStyle, тогда как другие являются более сложными и загружают NIB и т. Д. Для различных секций.

Чтобы получить доступ к текстовому свойству UILabel для своих пользовательских ячеек, я могу сделать что-то вроде

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

и я могу создать метод в классе CustomCell для установки текста метки.

Для общих ячеек метка называется «textLabel». Я думаю, что могу сделать что-то вроде

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

но это выглядит несколько грязно, так как мне нужно создать новую UILabel.

Я пытался

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

, который работал бы, если бы ячейка была класса UITableViewCell, а не id, но в этом случае это не так.

Так есть ли способ просто установить textLabel.text без создания новой UILabel?

1 Ответ

0 голосов
/ 25 августа 2009

Вы пытались добавить категорию к UITableViewCell с помощью метода смены меток, а затем переопределить этот метод в CustomCell?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...