我使用IB和Storyboard在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:Hidden Stitches,orderDateLabel: 05/24/2012 2012-05-24 14:01:55.364空白面料[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空白面料[4876:f803] indexPath.row:1,cell.busNameLabel:(null),cell.orderDateLabel: (空)
答案 0 :(得分:1)
您的IBOutlets是否都设置了两个标签?检查cell.busNameLabel是否不是......