来自自定义tableview单元格的uilabel未显示在tableviewcontroller中

时间:2013-03-14 02:54:09

标签: ios ios5 ios6 uitableview

我创建了一个表视图控制器和自定义单元。我创建了一个新的tableviewCell文件,该文件具有自定义单元格中标签的出口。

我已经在tableviewController中导入了tableviewcell类,并尝试通过以下代码将数组中的值赋给单元格:

static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

if (cell == nil) {
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier ];
}

cell.name.text = [data objectAtIndex:indexPath.row];

cell.name -----------(不显示tableviewcell类中的uilabel名称,即使在帮助中它不存在!,我有不明白为什么)

以下代码的工作方式是标记标签

    // Configure the cell...

//    UILabel *label = (UILabel *)[cell viewWithTag:111];
//              label.text= [data objectAtIndex:indexPath.row];

我的查询是如何在没有标记的情况下使插座部分工作以及为什么uilabel没有显示在tableviewCOntroller中?

请帮帮我。我真的很感激帮助。

先谢谢。

2 个答案:

答案 0 :(得分:3)

如果您的自定义单元格的类名是“MyCustomTableCell”,它是从UITableViewCell继承的,那么代码必须如下所示

static NSString *CellIdentifier = @"Cell";
MyCustomTableCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier   forIndexPath:indexPath];

if (cell == nil) {
    cell = [[MyCustomTableCell alloc] initWithStyle:UITableViewCellStyleDefault
    reuseIdentifier:CellIdentifier ];
 }

然后你可以访问它的属性

cell.name = @"cell name";

答案 1 :(得分:3)

请记住loadNib:

static NSString *CellIdentifier = @"CellIdentifier";
 MyCustomTableCell *cell = (MyCustomTableCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[MyCustomTableCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
        cell = [[[NSBundle mainBundle] loadNibNamed:@"MyCustomTableCell" owner:self options:nil] lastObject];
       // UINib *theNib = [UINib nibWithNibName:@"MyCustomTableCell" bundle:nil];
       // cell = [[theNib instantiateWithOwner:self options:nil] lastObject];
    }