UITableViewCell不显示我的数据

时间:2014-07-17 20:41:58

标签: ios objective-c uitableview

在我的TableViewController中,我通过故事板设置了我的TableViewCell。在方法…cellForRowAtIndexPath我做

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath`
{
  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"my_identifier" forIndexPath:indexPath];
  UILabel *myTitle = (UILabel *)[cell.contentView viewWithTag:1];
  UITextView *myDetail = (UITextView *)[cell.contentView viewWithTag:2];
  //…more stuff
  myTitle.text = item.title;
  myDetail.text = item.detail;
  return cell;
}

当我在故事板中设置TableViewCell时,我通过属性检查器设置了标签。无论如何,此时我通过NSLog记录所有内容,以便我知道我的数据存在,myTitle确实包含标题等等。例如,以下日志记录工作

NSLog(@“my title after passing it to myTitle is %@“, myTitle.text);

所以我全身都在记录。但无论出于何种原因,当我运行代码时,单元格没有显示在表格中。它一直说没有数据。

此时唯一有意义的是,例如,myTitle不是指向单元格中包含的标题的指针。那么有没有办法将myTitle的内容设置回单元格?我知道我错过了什么。我只是不知道它是什么。

更新

所以我按this youtube video创建了一个UITableViewCell的子类。仍记录所有内容,我的日志记录显示一切都应该正常工作,但表仍然没有显示任何内容。除了“没有结果”。好像单元格不属于表格,但它在文档大纲:表视图>中存在。查看>自定义表格视图单元格 - my_identifier>内容视图> [我的孩子们的观点]

1 个答案:

答案 0 :(得分:0)

为.h文件中的tableView创建IBOutlet,并在.m文件中为@synthesize创建

viewWillAppear

中添加以下代码
tableView.dataSource = self;
tableView.delegate = self;
[tableView reloadData];

对于表格中的单元格,请确保您的标签与单元格

相关联

您的标签在.h文件中链接为IBOutlet,在.m文件中也是@synthesize

drag your label to your cell

或简单地在单元格contentView中初始化并创建标签:

UILabel * mytitle = [[UILabel alloc] initWithFrame:CGRectMake(5, 5, 200, 25)];
mytitle.text = item.title;
mytitle.textColor = [UIColor blackColor];
[cell.contentView addSubview mytitle];