我正在尝试为我的tableview单元格添加字幕,但它们不显示。
错误在哪里?

是排[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle]最新的,也使用iOS 7?

此致

坦率

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];

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

    cell.textLabel.text = @"TestA";
    cell.detailTextLabel.text = @"TestB";

    return cell;
}

最佳答案

这段代码:

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

永远不会执行,因为dequeueReusableCellWithIdentifier: forIndexPath:保证可以分配新的单元格。

不幸的是,registerClass:forCellReuseIdentifier:不允许您指定UITableViewCellStyle

dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath更改为dequeueReusableCellWithIdentifier:CellIdentifier。此方法不能保证将返回一个单元格。*否则,您的代码将创建具有所需样式的新单元格。

*-(如rdelmar所指出的,如果您使用的是 Storyboard,则不是这种情况。)

10-08 08:25