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 ブランク生地[4876:f803] indexPath.row: 0、cell.busNameLabel: (null)、セル.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: (null)