我使用 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:(空)