【发布时间】:2012-06-02 14:00:43
【问题描述】:
在我在单元格中设置标签的方法中(对于 UITableView),我正在读取的“id”实际上是一个 UITableViewCell,因为我正在读取几种不同类型的单元格。即:
-(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";
如果 cell 属于 UITableViewCell 类,而不是 id,这将起作用,但在这种情况下不会。
那么有什么方法可以只设置 textLabel.text 而无需创建新的 UILabel?
【问题讨论】: