0

我使用 IB 和 Storyboards 在 UITableView 中制作了一个自定义单元格。下面的代码是加载该自定义单元格的代码;问题是虽然 cA.cBusName 和 cA.cOrderDate 中有有效数据,但单元格标签(cell.busNameLabel.text、cell.orderDateLagbel.text)没有设置。 问题是:为什么这不起作用?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  {

    static NSString *CellIdentifier = @"CustomerListingsCell";

    CustomerListingsCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[CustomerListingsCell alloc]
                initWithStyle:UITableViewCellStyleDefault 
                reuseIdentifier:CellIdentifier];
    }

    // Configure the cell...
    SingletonListOfCustomers *shareInstance = [SingletonListOfCustomers sharedInstance];
    cArray *cA = [shareInstance.listOfCustomers objectAtIndex: indexPath.row];

    cell.busNameLabel.text = cA.cBusName;
    cell.orderDateLabel.text = cA.cOrderDate;

    NSLog(@"\n\nindexPath.row: %d, busNameLabel: %@, orderDateLabel: %@", indexPath.row, cA.cBusName, cA.cOrderDate);
    NSLog(@"\nindexPath.row: %d, cell.busNameLabel: %@, cell.orderDateLabel: %@", indexPath.row, cell.busNameLabel.text, cell.orderDateLabel.text);

    return cell;

}

CustomerListingsCell 定义为:

@interface CustomerListingsCell : UITableViewCell  {

}

@property (nonatomic, strong) IBOutlet UILabel *busNameLabel;
@property (nonatomic, strong) IBOutlet UILabel *orderDateLabel;

@end

NSLog 语句输出为:

2012-05-24 14:01:55.363 空白面料[4876:f803]

indexPath.row: 0, busNameLabel: 隐藏针迹, orderDateLabel: 05/24/2012 2012-05-24 14:01:55.364 Blank Fabrics[4876:f803] indexPath.row: 0, cell.busNameLabel: (null), cell .orderDateLabel: (null) 2012-05-24 14:01:55.365 空白面料[4876:f803]

indexPath.row: 1, busNameLabel: Prager, Software, orderDateLabel: 05/24/2012 2012-05-24 14:01:55.373 Blank Fabrics[4876:f803] indexPath.row: 1, cell.busNameLabel: (null), cell.orderDateLabel:(空)

4

1 回答 1

1

您的 IBOutlets 是否为这两个标签都设置了?检查 cell.busNameLabel 是否不为零...

于 2012-05-24T21:03:11.710 回答