2

我试图让一个字幕显示在我的表格视图的单元格中,但由于某种原因它没有出现。我将单元格的样式设置为 UITableViewCellStyleSubtitle,所以这不是问题。以下是相关代码:

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

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

    NMADRestaurant *restaurant = [self.restaurants objectAtIndex:indexPath.row];
    cell.textLabel.text = [restaurant name];
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    CLLocation *restaurantLocation = [restaurant location];
    CLLocationDistance distance = [currentLocation distanceFromLocation:restaurantLocation];
    NSString *distanceString = [NSString stringWithFormat:@"%.1f km",(distance/1000)];
    cell.detailTextLabel.text = distanceString;

    return cell;
}

如果我 NSLog distanceString,它会正确显示。但是当我 NSLog(@"Label %@",cell.detailTextLabel.text), "Label (null)" 是所有出现在日志中。

4

2 回答 2

1

起初它对我也不起作用,我不得不去我的故事板,然后选择我的原型单元。之后我去了属性检查器,然后将“样式”从自定义更改为详细信息选项之一,然后它显示得很好。

并这样做:

CLLocationDistance distance = [currentLocation distanceFromLocation:restaurantLocation];

将距离声明为浮点数?我不确定你得到了什么类型的值,所以我不得不做一个

浮动距离 = 0.5;

能够对其进行测试,但也许它是空的,因为您称它为浮点数,但事实并非如此?

祝你好运

于 2013-11-04T04:31:19.623 回答
1

嗨,注意:我的英语不好。

你的 init 或 viewDidLoad 方法中有这个吗?

[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"abc"];

只需评论它,然后再试一次。(我认为第一次创建单元格时,由于此代码,他们没有应用样式副标题,它使用默认的单元格样式。)

于 2014-08-18T03:48:46.260 回答