0

我在访问 UITableViewCell 中的内容时遇到问题,我已将其放置在我的主 .xib 文件中。

该标签连接到 IBOutlet servicesCell。

并且table view cell里面的Label是通过IBOutlet serviceLabel连接的。

在运行时,我没有得到我要添加到该标签的文本。

以下是我的示例代码。

static NSString *ServiceIdentifier = @"ServiceIdentifier";

UITableViewCell *cell1 = [tableView dequeueReusableCellWithIdentifier:ServiceIdentifier];

if(cell1 == nil) {
    [[NSBundle mainBundle] loadNibNamed:@"servicesCell" owner:self options:nil];
    cell1 = servicesCell;
}

// label access
serviceLabel = (UILabel *)[cell1 viewWithTag:1];
serviceLabel.numberOfLines = 3;
serviceLabel.lineBreakMode = UILineBreakModeWordWrap;
[serviceLabel setTextAlignment:UITextAlignmentLeft];
[serviceLabel setText:@"Testing String"];

任何人有任何想法然后请帮助..

提前致谢..

4

2 回答 2

1

您说您的 Cell 在您的主 XIB 文件中,但我认为该单元实际上在“servicesCell.xib”中,对吗?

我假设您从"Loading Custom Table-View Cells from Nib Files"开始。此代码类似于 Apple 的示例,因此我假设您从那里开始。如果您只是在不理解的情况下从某个地方复制了此代码,请先阅读该文档。

您应该在调试器中遍历此代码,并确保所有内容都设置为您认为应该设置的内容。“什么都没有发生”的最常见原因是您正在向 nil 发送消息,因此我敢打赌您的变量之一实际上是 nil。查看这段代码,最可能的罪魁祸首是未能在 IB 中实际连接某些东西(这是使用 NIB 时出现 nil 对象的最常见原因;仔细检查您是否确实这样做了),或者您没有为标签分配预期标签为 1。

于 2009-10-03T15:44:58.393 回答
0

将 UITableViewCell 放在它自己的笔尖中。

于 2009-10-03T12:18:38.950 回答