如果需要转换对象,如何设置嵌套属性?

时间:2009-08-24 08:57:00

标签: objective-c uitableview

在我的方法中设置我的单元格中的标签(对于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?

1 个答案:

答案 0 :(得分:0)

您是否尝试使用标签更改方法向UITableViewCell添加类别,然后在CustomCell中覆盖该方法?