访问cell.textLabel.text中的文本

时间:2012-08-17 17:36:37

标签: objective-c ios xcode uitableview

这似乎很简单,但我被卡住了。

在我的故事板中,我有一个带有文本标签的单元格(使用静态单元格)。在didSelectRowAtIndexPath中,我正在尝试访问单元格的textLabel文本。这是我的代码,NSLogging:

UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
if (cell.textLabel.text) {
      NSLog(@"cell.textLabel.text = %@",cell.textLabel.text);
  } else {
      NSLog(@"!cell.textLabel.text");
  }
NSLog(@"just for fun: cell.textLabel.text = %@", cell.textLabel.text);

if语句总是返回“!cell.textLabel.text”,最后一个NSLog总是(null),尽管故事板的单元格中有文本。

cell.textLabel不正确吗?我应该查看UITableViewCell的另一个子视图吗?

1 个答案:

答案 0 :(得分:1)

故事板中表格单元格的默认单元格样式为“自定义”类型。这为您提供了一个空白单元格,您可以在其中添加其他类型的控件。

如果您将标签拖到单元格上并更改了其文本,那么您可能正在使用自定义样式的UITableViewCell。

属性textLabel仅适用于Custom之外的其他类型的单元格,例如Basic或Detailed。

因此,您应首先检查这些样式是否符合您的要求并改为使用它们。

如果您确实需要自定义类型的单元格,则需要创建UITableViewCell的子类并创建出口来访问您的标签。